diff options
author | Wim Van Sebroeck <wim@linux-watchdog.org> | 2018-03-26 14:48:27 -0400 |
---|---|---|
committer | Wim Van Sebroeck <wim@linux-watchdog.org> | 2018-03-26 14:48:27 -0400 |
commit | 1991a55dc87e8f2557bc90d7f0062b7110ab8437 (patch) | |
tree | 49f440723878a86d9f7a2db0219ca617d0272596 | |
parent | ab17ed70f79abbfdc7f0878836816267df2835a7 (diff) | |
parent | d66e53649c18377edc08d48901e658e4fd491d46 (diff) |
Merge branch 'v4.17-rc1'
-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) | |||
236 | 236 | ||
237 | wdt_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 237 | wdt_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
238 | davinci_wdt->base = devm_ioremap_resource(dev, wdt_mem); | 238 | davinci_wdt->base = devm_ioremap_resource(dev, wdt_mem); |
239 | if (IS_ERR(davinci_wdt->base)) | 239 | if (IS_ERR(davinci_wdt->base)) { |
240 | return PTR_ERR(davinci_wdt->base); | 240 | ret = PTR_ERR(davinci_wdt->base); |
241 | goto err_clk_disable; | ||
242 | } | ||
241 | 243 | ||
242 | ret = watchdog_register_device(wdd); | 244 | ret = watchdog_register_device(wdd); |
243 | if (ret < 0) { | 245 | if (ret) { |
244 | clk_disable_unprepare(davinci_wdt->clk); | ||
245 | dev_err(dev, "cannot register watchdog device\n"); | 246 | dev_err(dev, "cannot register watchdog device\n"); |
247 | goto err_clk_disable; | ||
246 | } | 248 | } |
247 | 249 | ||
250 | return 0; | ||
251 | |||
252 | err_clk_disable: | ||
253 | clk_disable_unprepare(davinci_wdt->clk); | ||
254 | |||
248 | return ret; | 255 | return ret; |
249 | } | 256 | } |
250 | 257 | ||