net: ravb: Use pm_runtime_resume_and_get()
authorClaudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Tue, 28 Nov 2023 08:04:35 +0000 (10:04 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Dec 2023 07:52:23 +0000 (08:52 +0100)
[ Upstream commit 88b74831faaee455c2af380382d979fc38e79270 ]

pm_runtime_get_sync() may return an error. In case it returns with an error
dev->power.usage_count needs to be decremented. pm_runtime_resume_and_get()
takes care of this. Thus use it.

Fixes: c156633f1353 ("Renesas Ethernet AVB driver proper")
Reviewed-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/renesas/ravb_main.c

index f76ccb5..cdcac7d 100644 (file)
@@ -2659,7 +2659,9 @@ static int ravb_probe(struct platform_device *pdev)
                goto out_free_netdev;
 
        pm_runtime_enable(&pdev->dev);
-       pm_runtime_get_sync(&pdev->dev);
+       error = pm_runtime_resume_and_get(&pdev->dev);
+       if (error < 0)
+               goto out_rpm_disable;
 
        if (info->multi_irqs) {
                if (info->err_mgmt_irqs)
@@ -2885,6 +2887,7 @@ out_disable_refclk:
        clk_disable_unprepare(priv->refclk);
 out_release:
        pm_runtime_put(&pdev->dev);
+out_rpm_disable:
        pm_runtime_disable(&pdev->dev);
        reset_control_assert(rstc);
 out_free_netdev: