diff options
author | Lendacky, Thomas <Thomas.Lendacky@amd.com> | 2017-02-28 15:02:51 -0600 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-03-02 12:57:53 -0800 |
commit | 402168b4c2dc0734b8fbd282eff77da0275c5129 (patch) | |
tree | 77411a23295dac1653930a1f40f043c3074fdec8 /drivers/net/ethernet/amd | |
parent | 9aea7779b764a11e357d3c74af6aee3cf90f2045 (diff) | |
download | op-kernel-dev-402168b4c2dc0734b8fbd282eff77da0275c5129.zip op-kernel-dev-402168b4c2dc0734b8fbd282eff77da0275c5129.tar.gz |
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>
Diffstat (limited to 'drivers/net/ethernet/amd')
-rw-r--r-- | drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 4 |
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 3aa457c..248f60d 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) 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; |