Re: [EXT] [PATCH net-next 15/15] net: mvpp2: set the GMAC, XLG MAC, XPCS and MPCS in reset when a port is down
From: Antoine Tenart <hidden>
Date: 2019-02-28 15:06:07
Also in:
lkml
From: Antoine Tenart <hidden>
Date: 2019-02-28 15:06:07
Also in:
lkml
Hi Yan, On Thu, Feb 28, 2019 at 03:00:34PM +0000, Yan Markman wrote:
The eth-down/stop may concurrent with pre-scheduled stats_work. So it seems better to cancel stats_work first and then make resetS.
I'm not sure this would actually result in an issue, but to keep it logical I'll change that. Thanks, Antoine
diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c index 29d32cb3d52b..c10fd894c86f 100644 --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c@@ -3257,6 +3257,7 @@ static void mvpp2_stop_dev(struct mvpp2_port *port) if (port->phylink) phylink_stop(port->phylink); + phy_power_off(port->comphy); }@@ -3520,6 +3521,9 @@ static int mvpp2_stop(struct net_device *dev) mvpp2_cleanup_rxqs(port); mvpp2_cleanup_txqs(port); + mvpp2_mac_reset(port); + mvpp22_pcs_reset(port); + cancel_delayed_work_sync(&port->stats_work); return 0;
-- Antoine Ténart, Bootlin Embedded Linux and Kernel engineering https://bootlin.com