diff options
author | Fabio Estevam <fabio.estevam@freescale.com> | 2015-06-22 00:16:18 -0400 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2015-06-26 04:41:11 -0400 |
commit | aefb163cb2b876bcbbceee47e3e4f22ed7364630 (patch) | |
tree | 1b86dc1d609e293e2dc72a6db5c2258e8c3dbcdd | |
parent | 46c80b20d07e9309677d81e1226dc30a055b63b7 (diff) |
watchdog: imx2_wdt: Check for clk_prepare_enable() error
clk_prepare_enable() may fail, so we should better check its return value
and propagate it in the case of error.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
-rw-r--r-- | drivers/watchdog/imx2_wdt.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/watchdog/imx2_wdt.c b/drivers/watchdog/imx2_wdt.c index 2acdd17025c4..add1fa0fad17 100644 --- a/drivers/watchdog/imx2_wdt.c +++ b/drivers/watchdog/imx2_wdt.c | |||
@@ -260,7 +260,9 @@ static int __init imx2_wdt_probe(struct platform_device *pdev) | |||
260 | wdog->max_timeout = IMX2_WDT_MAX_TIME; | 260 | wdog->max_timeout = IMX2_WDT_MAX_TIME; |
261 | wdog->parent = &pdev->dev; | 261 | wdog->parent = &pdev->dev; |
262 | 262 | ||
263 | clk_prepare_enable(wdev->clk); | 263 | ret = clk_prepare_enable(wdev->clk); |
264 | if (ret) | ||
265 | return ret; | ||
264 | 266 | ||
265 | regmap_read(wdev->regmap, IMX2_WDT_WRSR, &val); | 267 | regmap_read(wdev->regmap, IMX2_WDT_WRSR, &val); |
266 | wdog->bootstatus = val & IMX2_WDT_WRSR_TOUT ? WDIOF_CARDRESET : 0; | 268 | wdog->bootstatus = val & IMX2_WDT_WRSR_TOUT ? WDIOF_CARDRESET : 0; |
@@ -365,8 +367,11 @@ static int imx2_wdt_resume(struct device *dev) | |||
365 | { | 367 | { |
366 | struct watchdog_device *wdog = dev_get_drvdata(dev); | 368 | struct watchdog_device *wdog = dev_get_drvdata(dev); |
367 | struct imx2_wdt_device *wdev = watchdog_get_drvdata(wdog); | 369 | struct imx2_wdt_device *wdev = watchdog_get_drvdata(wdog); |
370 | int ret; | ||
368 | 371 | ||
369 | clk_prepare_enable(wdev->clk); | 372 | ret = clk_prepare_enable(wdev->clk); |
373 | if (ret) | ||
374 | return ret; | ||
370 | 375 | ||
371 | if (watchdog_active(wdog) && !imx2_wdt_is_running(wdev)) { | 376 | if (watchdog_active(wdog) && !imx2_wdt_is_running(wdev)) { |
372 | /* | 377 | /* |