watchdog: Fix runtime PM imbalance on error
authorDinghao Liu <dinghao.liu@zju.edu.cn>
Thu, 21 May 2020 08:01:41 +0000 (16:01 +0800)
committerWim Van Sebroeck <wim@linux-watchdog.org>
Mon, 25 May 2020 06:55:46 +0000 (08:55 +0200)
When watchdog_register_device() returns an error code,
a pairing runtime PM usage counter decrement is needed
to keep the counter balanced.

Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20200521080141.24373-1-dinghao.liu@zju.edu.cn
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
drivers/watchdog/omap_wdt.c

index 9b91882fe3c411dcac5c2f027cb0c54074828cc8..1616f93dfad7fcdccf7d74a7dc18d979a1643e7a 100644 (file)
@@ -273,6 +273,7 @@ static int omap_wdt_probe(struct platform_device *pdev)
 
        ret = watchdog_register_device(&wdev->wdog);
        if (ret) {
+               pm_runtime_put(wdev->dev);
                pm_runtime_disable(wdev->dev);
                return ret;
        }