From: Christophe JAILLET Date: Thu, 22 Aug 2019 20:45:38 +0000 (+0200) Subject: gpio: ftgpio: Fix an error handling path in 'ftgpio_gpio_probe()' X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=b1d64c7139c1ec673bac8be88b27caf02cf73118;p=openwrt%2Fstaging%2Fblogic.git gpio: ftgpio: Fix an error handling path in 'ftgpio_gpio_probe()' If 'devm_kcalloc()' fails, we should go through the error handling path, should some clean-up be needed. Fixes: 42d9fc7176eb ("gpio: ftgpio: Pass irqchip when adding gpiochip") Signed-off-by: Christophe JAILLET Link: https://lore.kernel.org/r/20190822204538.4791-1-christophe.jaillet@wanadoo.fr Signed-off-by: Linus Walleij --- diff --git a/drivers/gpio/gpio-ftgpio010.c b/drivers/gpio/gpio-ftgpio010.c index 3118d282514a..fbddb1662428 100644 --- a/drivers/gpio/gpio-ftgpio010.c +++ b/drivers/gpio/gpio-ftgpio010.c @@ -290,8 +290,10 @@ static int ftgpio_gpio_probe(struct platform_device *pdev) girq->num_parents = 1; girq->parents = devm_kcalloc(dev, 1, sizeof(*girq->parents), GFP_KERNEL); - if (!girq->parents) - return -ENOMEM; + if (!girq->parents) { + ret = -ENOMEM; + goto dis_clk; + } girq->default_type = IRQ_TYPE_NONE; girq->handler = handle_bad_irq; girq->parents[0] = irq;