summaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>2019-08-22 22:45:38 +0200
committerLinus Walleij <linus.walleij@linaro.org>2019-08-23 12:02:34 +0200
commitb1d64c7139c1ec673bac8be88b27caf02cf73118 (patch)
treedcfd34b9a6e5b653ccefc79ab0bb2d746964478e /drivers/gpio
parentgpio: Move gpiochip_lock/unlock_as_irq to gpio/driver.h (diff)
downloadlinux-b1d64c7139c1ec673bac8be88b27caf02cf73118.tar.xz
linux-b1d64c7139c1ec673bac8be88b27caf02cf73118.zip
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 <christophe.jaillet@wanadoo.fr> Link: https://lore.kernel.org/r/20190822204538.4791-1-christophe.jaillet@wanadoo.fr Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpio-ftgpio010.c6
1 files changed, 4 insertions, 2 deletions
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;