]> git.ipfire.org Git - people/arne_f/kernel.git/commitdiff
rtc: omap: fix resource leak in registration error path
authorJohan Hovold <johan@kernel.org>
Wed, 4 Jul 2018 09:05:56 +0000 (11:05 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 9 Sep 2018 08:32:35 +0000 (10:32 +0200)
commit 551757eb052986ec81cebcc6301cc1c4f8dca938 upstream.

Make sure to deregister the pin controller in case rtc registration
fails.

Fixes: 57072758623f ("rtc: omap: switch to rtc_register_device")
Cc: stable <stable@vger.kernel.org> # 4.14
Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/rtc/rtc-omap.c

index 39086398833e0f8ea95d272f91e4f09fec7cf68f..257c8f33e1698760bc3d54c25710ed73e00159a7 100644 (file)
@@ -880,12 +880,14 @@ static int omap_rtc_probe(struct platform_device *pdev)
 
        ret = rtc_register_device(rtc->rtc);
        if (ret)
-               goto err;
+               goto err_deregister_pinctrl;
 
        rtc_nvmem_register(rtc->rtc, &omap_rtc_nvmem_config);
 
        return 0;
 
+err_deregister_pinctrl:
+       pinctrl_unregister(rtc->pctldev);
 err:
        clk_disable_unprepare(rtc->clk);
        device_init_wakeup(&pdev->dev, false);