aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@vyatta.com>2009-06-17 03:30:32 -0400
committerDavid S. Miller <davem@davemloft.net>2009-06-17 21:46:48 -0400
commitd104acaf0540aee527d22eafd14b0a3d30be7f81 (patch)
tree022233f61b944f888a943e8ed5352db89c1662fd
parent4bb3f522077f6b10531451f50c376d6137ebd364 (diff)
sky2: turn off pause during shutdown
This unblocks the chip if it is stuck in pause cycle during shutdown. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/sky2.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index c6ceba95ace7..5de2a9063b2b 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -1808,7 +1808,8 @@ static int sky2_down(struct net_device *dev)
1808 1808
1809 synchronize_irq(hw->pdev->irq); 1809 synchronize_irq(hw->pdev->irq);
1810 1810
1811 sky2_gmac_reset(hw, port); 1811 /* Force flow control off */
1812 sky2_write8(hw, SK_REG(port, GMAC_CTRL), GMC_PAUSE_OFF);
1812 1813
1813 /* Stop transmitter */ 1814 /* Stop transmitter */
1814 sky2_write32(hw, Q_ADDR(txqaddr[port], Q_CSR), BMU_STOP); 1815 sky2_write32(hw, Q_ADDR(txqaddr[port], Q_CSR), BMU_STOP);