summaryrefslogtreecommitdiffstats
path: root/drivers/watchdog
diff options
context:
space:
mode:
authorWim Van Sebroeck <wim@linux-watchdog.org>2018-03-26 20:48:27 +0200
committerWim Van Sebroeck <wim@linux-watchdog.org>2018-03-26 20:48:27 +0200
commit1991a55dc87e8f2557bc90d7f0062b7110ab8437 (patch)
tree49f440723878a86d9f7a2db0219ca617d0272596 /drivers/watchdog
parentMerge branch 'v4.17-rc1' (diff)
parentwatchdog: davinci_wdt: fix error handling in davinci_wdt_probe() (diff)
downloadlinux-1991a55dc87e8f2557bc90d7f0062b7110ab8437.tar.xz
linux-1991a55dc87e8f2557bc90d7f0062b7110ab8437.zip
Merge branch 'v4.17-rc1'
Diffstat (limited to 'drivers/watchdog')
-rw-r--r--drivers/watchdog/davinci_wdt.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/watchdog/davinci_wdt.c b/drivers/watchdog/davinci_wdt.c
index 3e4c592c239f..6c6594261cb7 100644
--- a/drivers/watchdog/davinci_wdt.c
+++ b/drivers/watchdog/davinci_wdt.c
@@ -236,15 +236,22 @@ static int davinci_wdt_probe(struct platform_device *pdev)
wdt_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
davinci_wdt->base = devm_ioremap_resource(dev, wdt_mem);
- if (IS_ERR(davinci_wdt->base))
- return PTR_ERR(davinci_wdt->base);
+ if (IS_ERR(davinci_wdt->base)) {
+ ret = PTR_ERR(davinci_wdt->base);
+ goto err_clk_disable;
+ }
ret = watchdog_register_device(wdd);
- if (ret < 0) {
- clk_disable_unprepare(davinci_wdt->clk);
+ if (ret) {
dev_err(dev, "cannot register watchdog device\n");
+ goto err_clk_disable;
}
+ return 0;
+
+err_clk_disable:
+ clk_disable_unprepare(davinci_wdt->clk);
+
return ret;
}