davinci_wdt_probe() can fail here and we must disable clock.
Signed-off-by: Arvind Yadav <[email protected]>
---
drivers/watchdog/davinci_wdt.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/watchdog/davinci_wdt.c b/drivers/watchdog/davinci_wdt.c
index 1ba9ead..2f46487 100644
--- a/drivers/watchdog/davinci_wdt.c
+++ b/drivers/watchdog/davinci_wdt.c
@@ -202,8 +202,10 @@ static int davinci_wdt_probe(struct platform_device *pdev)
return PTR_ERR(davinci_wdt->base);
ret = watchdog_register_device(wdd);
- if (ret < 0)
+ if (ret < 0) {
+ clk_disable_unprepare(davinci_wdt->clk);
dev_err(dev, "cannot register watchdog device\n");
+ }
return ret;
}
--
1.9.1
On Tue, Jun 06, 2017 at 04:08:31PM +0530, Arvind Yadav wrote:
> davinci_wdt_probe() can fail here and we must disable clock.
>
> Signed-off-by: Arvind Yadav <[email protected]>
Reviewed-by: Guenter Roeck <[email protected]>
... though I would really prefer to have devm_clk_prepare_enable()
instead :-(.
> ---
> drivers/watchdog/davinci_wdt.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/watchdog/davinci_wdt.c b/drivers/watchdog/davinci_wdt.c
> index 1ba9ead..2f46487 100644
> --- a/drivers/watchdog/davinci_wdt.c
> +++ b/drivers/watchdog/davinci_wdt.c
> @@ -202,8 +202,10 @@ static int davinci_wdt_probe(struct platform_device *pdev)
> return PTR_ERR(davinci_wdt->base);
>
> ret = watchdog_register_device(wdd);
> - if (ret < 0)
> + if (ret < 0) {
> + clk_disable_unprepare(davinci_wdt->clk);
> dev_err(dev, "cannot register watchdog device\n");
> + }
>
> return ret;
> }
> --
> 1.9.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html