]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Oct 2018 06:55:53 +0000 (08:55 +0200)
[ 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 <khoroshilov@ispras.ru>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpio/gpio-dwapb.c

index 7a2de3de65719a6de3177c07e731a0f6f62d708d..5b12d6fdd448b5cccbc25e792e9df42be47f9c43 100644 (file)
@@ -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;
 }