gpio: dwapb: Fix error handling in dwapb_gpio_probe()
authorAlexey Khoroshilov <khoroshilov@ispras.ru>
Tue, 28 Aug 2018 20:40:26 +0000 (23:40 +0300)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 29 Aug 2018 12:04:04 +0000 (14:04 +0200)
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 <khoroshilov@ispras.ru>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-dwapb.c

index 28da700f5f5258f54117dee459904d2140d0d411..044888fd96a1f642617cba9a9dfc98655c5493aa 100644 (file)
@@ -728,6 +728,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;
 }