diff options
author | Wim Van Sebroeck <wim@linux-watchdog.org> | 2018-03-26 20:48:27 +0200 |
---|---|---|
committer | Wim Van Sebroeck <wim@linux-watchdog.org> | 2018-03-26 20:48:27 +0200 |
commit | 1991a55dc87e8f2557bc90d7f0062b7110ab8437 (patch) | |
tree | 49f440723878a86d9f7a2db0219ca617d0272596 /drivers/watchdog | |
parent | Merge branch 'v4.17-rc1' (diff) | |
parent | watchdog: davinci_wdt: fix error handling in davinci_wdt_probe() (diff) | |
download | linux-1991a55dc87e8f2557bc90d7f0062b7110ab8437.tar.xz linux-1991a55dc87e8f2557bc90d7f0062b7110ab8437.zip |
Merge branch 'v4.17-rc1'
Diffstat (limited to 'drivers/watchdog')
-rw-r--r-- | drivers/watchdog/davinci_wdt.c | 15 |
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; } |