Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aefb163c authored by Fabio Estevam's avatar Fabio Estevam Committed by Wim Van Sebroeck
Browse files

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: default avatarFabio Estevam <fabio.estevam@freescale.com>
Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
parent 46c80b20
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -260,7 +260,9 @@ static int __init imx2_wdt_probe(struct platform_device *pdev)
	wdog->max_timeout	= IMX2_WDT_MAX_TIME;
	wdog->parent		= &pdev->dev;

	clk_prepare_enable(wdev->clk);
	ret = clk_prepare_enable(wdev->clk);
	if (ret)
		return ret;

	regmap_read(wdev->regmap, IMX2_WDT_WRSR, &val);
	wdog->bootstatus = val & IMX2_WDT_WRSR_TOUT ? WDIOF_CARDRESET : 0;
@@ -365,8 +367,11 @@ static int imx2_wdt_resume(struct device *dev)
{
	struct watchdog_device *wdog = dev_get_drvdata(dev);
	struct imx2_wdt_device *wdev = watchdog_get_drvdata(wdog);
	int ret;

	clk_prepare_enable(wdev->clk);
	ret = clk_prepare_enable(wdev->clk);
	if (ret)
		return ret;

	if (watchdog_active(wdog) && !imx2_wdt_is_running(wdev)) {
		/*