From: Alexey Khoroshilov Date: Tue, 28 Aug 2018 20:40:26 +0000 (+0300) Subject: gpio: dwapb: Fix error handling in dwapb_gpio_probe() X-Git-Tag: v4.18.13~142 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=34930327c610fe16c7fef04170a6b04f3c7144e9;p=users%2Fdwmw2%2Flinux.git gpio: dwapb: Fix error handling in dwapb_gpio_probe() [ Upstream commit a618cf4800970d260871c159b7eec014a1da2e81 ] If dwapb_gpio_add_port() fails in dwapb_gpio_probe(), gpio->clk is left undisabled. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov Signed-off-by: Linus Walleij Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c index 7a2de3de65719..5b12d6fdd448b 100644 --- a/drivers/gpio/gpio-dwapb.c +++ b/drivers/gpio/gpio-dwapb.c @@ -726,6 +726,7 @@ static int dwapb_gpio_probe(struct platform_device *pdev) out_unregister: dwapb_gpio_unregister(gpio); dwapb_irq_teardown(gpio); + clk_disable_unprepare(gpio->clk); return err; }