Explorar o código

gpio: dwapb: Fix error handling in dwapb_gpio_probe()

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>
Alexey Khoroshilov %!s(int64=7) %!d(string=hai) anos
pai
achega
a618cf4800
Modificáronse 1 ficheiros con 1 adicións e 0 borrados
  1. 1 0
      drivers/gpio/gpio-dwapb.c

+ 1 - 0
drivers/gpio/gpio-dwapb.c

@@ -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;
 }