aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam@freescale.com>2015-06-22 00:16:18 -0400
committerWim Van Sebroeck <wim@iguana.be>2015-06-26 04:41:11 -0400
commitaefb163cb2b876bcbbceee47e3e4f22ed7364630 (patch)
tree1b86dc1d609e293e2dc72a6db5c2258e8c3dbcdd
parent46c80b20d07e9309677d81e1226dc30a055b63b7 (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.c9
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 /*