Re: [PATCH] staging: mfd: hi6421-spmi-pmic: Fix error return in hi6421_spmi_pmic_probe()

From: Dan Carpenter
Date: Tue Sep 29 2020 - 04:01:27 EST


On Tue, Sep 29, 2020 at 03:48:47PM +0800, Jing Xiangfeng wrote:
> Fix to return error code -ENOMEM from the error handling case instead
> of 0.
>
> Signed-off-by: Jing Xiangfeng <jingxiangfeng@xxxxxxxxxx>
> ---
> drivers/staging/hikey9xx/hi6421-spmi-pmic.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/hikey9xx/hi6421-spmi-pmic.c b/drivers/staging/hikey9xx/hi6421-spmi-pmic.c
> index 64b30d263c8d..4f34a5282970 100644
> --- a/drivers/staging/hikey9xx/hi6421-spmi-pmic.c
> +++ b/drivers/staging/hikey9xx/hi6421-spmi-pmic.c
> @@ -262,8 +262,10 @@ static int hi6421_spmi_pmic_probe(struct spmi_device *pdev)
> hi6421_spmi_pmic_irq_prc(pmic);
>
> pmic->irqs = devm_kzalloc(dev, HISI_IRQ_NUM * sizeof(int), GFP_KERNEL);
> - if (!pmic->irqs)
> + if (!pmic->irqs) {
> + ret = -ENOMEM;
> goto irq_malloc;

It shouldn't do a goto, it should just return directly. The goto
releases an IRQ which isn't acquired until later in the function.

regards,
dan carpenter