[PATCH 4.10 24/63] amd-xgbe: Stop the PHY before releasing interrupts

From: Greg Kroah-Hartman
Date: Mon Mar 20 2017 - 14:02:12 EST


4.10-stable review patch. If anyone has any objections, please let me know.

------------------

From: "Lendacky, Thomas" <Thomas.Lendacky@xxxxxxx>


[ Upstream commit 402168b4c2dc0734b8fbd282eff77da0275c5129 ]

Some configurations require the use of the hardware's MDIO support to
communicate with external PHYs. The MDIO commands indicate completion
through the device interrupt. When bringing down the device the interrupts
were released before stopping the external PHY, resulting in MDIO command
timeouts. Move the stopping of the PHY to before the releasing of the
interrupts.

Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/net/ethernet/amd/xgbe/xgbe-drv.c
+++ b/drivers/net/ethernet/amd/xgbe/xgbe-drv.c
@@ -1131,12 +1131,12 @@ static void xgbe_stop(struct xgbe_prv_da
hw_if->disable_tx(pdata);
hw_if->disable_rx(pdata);

+ phy_if->phy_stop(pdata);
+
xgbe_free_irqs(pdata);

xgbe_napi_disable(pdata, 1);

- phy_if->phy_stop(pdata);
-
hw_if->exit(pdata);

channel = pdata->channel;