summaryrefslogtreecommitdiffstats
path: root/drivers/net/sky2.c
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@vyatta.com>2009-06-17 09:30:32 +0200
committerDavid S. Miller <davem@davemloft.net>2009-06-18 03:46:48 +0200
commitd104acaf0540aee527d22eafd14b0a3d30be7f81 (patch)
tree022233f61b944f888a943e8ed5352db89c1662fd /drivers/net/sky2.c
parentr8169: do not bring device down when suspending (diff)
downloadlinux-d104acaf0540aee527d22eafd14b0a3d30be7f81.tar.xz
linux-d104acaf0540aee527d22eafd14b0a3d30be7f81.zip
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>
Diffstat (limited to 'drivers/net/sky2.c')
-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)
synchronize_irq(hw->pdev->irq);
- sky2_gmac_reset(hw, port);
+ /* Force flow control off */
+ sky2_write8(hw, SK_REG(port, GMAC_CTRL), GMC_PAUSE_OFF);
/* Stop transmitter */
sky2_write32(hw, Q_ADDR(txqaddr[port], Q_CSR), BMU_STOP);