Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3647bc35 authored by Rabin Vincent's avatar Rabin Vincent Committed by David S. Miller
Browse files

dwc_eth_qos: Reset hardware before PHY start



The hardware reset is currently done after phy_start() is called,
leading to a race where we can lose the link status if the phy state
machine calls dwceqos_adjust_link() before we reset the MAC registers.

Acked-by: default avatarLars Persson <larper@axis.com>
Signed-off-by: default avatarRabin Vincent <rabinv@axis.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 16186a82
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1880,9 +1880,9 @@ static int dwceqos_open(struct net_device *ndev)
	}
	netdev_reset_queue(ndev);

	dwceqos_init_hw(lp);
	napi_enable(&lp->napi);
	phy_start(lp->phy_dev);
	dwceqos_init_hw(lp);

	netif_start_queue(ndev);
	tasklet_enable(&lp->tx_bdreclaim_tasklet);