2018-08-28 20:46:21

by Alexey Khoroshilov

[permalink] [raw]
Subject: [PATCH] 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 <[email protected]>
---
drivers/gpio/gpio-dwapb.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c
index 28da700f5f52..044888fd96a1 100644
--- a/drivers/gpio/gpio-dwapb.c
+++ b/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;
}
--
2.7.4



2018-08-29 12:06:22

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] gpio: dwapb: Fix error handling in dwapb_gpio_probe()

On Tue, Aug 28, 2018 at 10:43 PM Alexey Khoroshilov
<[email protected]> wrote:

> 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 <[email protected]>

Patch applied for fixes.

Yours,
Linus Walleij