aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLendacky, Thomas <Thomas.Lendacky@amd.com>2017-02-28 16:02:51 -0500
committerDavid S. Miller <davem@davemloft.net>2017-03-02 15:57:53 -0500
commit402168b4c2dc0734b8fbd282eff77da0275c5129 (patch)
tree77411a23295dac1653930a1f40f043c3074fdec8
parent9aea7779b764a11e357d3c74af6aee3cf90f2045 (diff)
amd-xgbe: Stop the PHY before releasing interrupts
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@amd.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/amd/xgbe/xgbe-drv.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-drv.c b/drivers/net/ethernet/amd/xgbe/xgbe-drv.c
index 3aa457c8ca21..248f60d171a5 100644
--- 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_data *pdata)
1131 hw_if->disable_tx(pdata); 1131 hw_if->disable_tx(pdata);
1132 hw_if->disable_rx(pdata); 1132 hw_if->disable_rx(pdata);
1133 1133
1134 phy_if->phy_stop(pdata);
1135
1134 xgbe_free_irqs(pdata); 1136 xgbe_free_irqs(pdata);
1135 1137
1136 xgbe_napi_disable(pdata, 1); 1138 xgbe_napi_disable(pdata, 1);
1137 1139
1138 phy_if->phy_stop(pdata);
1139
1140 hw_if->exit(pdata); 1140 hw_if->exit(pdata);
1141 1141
1142 channel = pdata->channel; 1142 channel = pdata->channel;