]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: ravb: Start TX queues after HW initialization succeeded
authorClaudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Tue, 28 Nov 2023 08:04:37 +0000 (10:04 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Dec 2023 07:42:00 +0000 (08:42 +0100)
[ Upstream commit 6f32c086602050fc11157adeafaa1c1eb393f0af ]

ravb_phy_start() may fail. If that happens, the TX queues will remain
started. Thus, move the netif_tx_start_all_queues() after PHY is
successfully initialized.

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>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.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 4db3495ef3370b535cc582bb5cec32ea8411ebb1..b97d450214dfd3d720aec960fc0622df76309aef 100644 (file)
@@ -1429,13 +1429,13 @@ static int ravb_open(struct net_device *ndev)
        if (priv->chip_id == RCAR_GEN2)
                ravb_ptp_init(ndev, priv->pdev);
 
-       netif_tx_start_all_queues(ndev);
-
        /* PHY control start */
        error = ravb_phy_start(ndev);
        if (error)
                goto out_ptp_stop;
 
+       netif_tx_start_all_queues(ndev);
+
        return 0;
 
 out_ptp_stop: