rtc: omap: fix error path when pinctrl_register fails
authorAlexandre Belloni <alexandre.belloni@free-electrons.com>
Thu, 12 Oct 2017 22:06:44 +0000 (00:06 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 1 Dec 2018 08:42:58 +0000 (09:42 +0100)
commit 26e480f7bb7840fc0daa9c3af7c4501b2cf5902f upstream.

If pinctrl_register() fails probe will return with an error without locking
the RTC and disabling pm_runtime.
Set ret and jump to err instead.

Fixes: 97ea1906b3c2 ("rtc: omap: Support ext_wakeup configuration")
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/rtc/rtc-omap.c

index ac6e6a6..ae6506a 100644 (file)
@@ -823,7 +823,8 @@ static int omap_rtc_probe(struct platform_device *pdev)
        rtc->pctldev = pinctrl_register(&rtc_pinctrl_desc, &pdev->dev, rtc);
        if (IS_ERR(rtc->pctldev)) {
                dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
-               return PTR_ERR(rtc->pctldev);
+               ret = PTR_ERR(rtc->pctldev);
+               goto err;
        }
 
        if (rtc->is_pmic_controller) {