]> www.infradead.org Git - users/hch/misc.git/commitdiff
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)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 30 Nov 2023 09:59:07 +0000 (10:59 +0100)
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>
drivers/net/ethernet/renesas/ravb_main.c

index 35a6b0a26dcd23f3d2895300747e3a850c5a9068..96b38d1e39aebb52b638b1b562c6dc1acef9af06 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: