Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Fabio Estevam and committed by
Wim Van Sebroeck
aefb163c 46c80b20

+7 -2
+7 -2
drivers/watchdog/imx2_wdt.c
··· 260 260 wdog->max_timeout = IMX2_WDT_MAX_TIME; 261 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 267 regmap_read(wdev->regmap, IMX2_WDT_WRSR, &val); 266 268 wdog->bootstatus = val & IMX2_WDT_WRSR_TOUT ? WDIOF_CARDRESET : 0; ··· 367 365 { 368 366 struct watchdog_device *wdog = dev_get_drvdata(dev); 369 367 struct imx2_wdt_device *wdev = watchdog_get_drvdata(wdog); 368 + int ret; 370 369 371 - clk_prepare_enable(wdev->clk); 370 + ret = clk_prepare_enable(wdev->clk); 371 + if (ret) 372 + return ret; 372 373 373 374 if (watchdog_active(wdog) && !imx2_wdt_is_running(wdev)) { 374 375 /*