aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@vyatta.com>2009-08-14 05:15:15 +0000
committerDavid S. Miller <davem@davemloft.net>2009-08-14 15:30:02 -0700
commit0da6d7b331f391d3c0ce52fb5289f7edeb94e280 (patch)
tree64c88c526fbd81e7bbb4bbbf27474e420de2e4db
parent264bb4fab1a0952b4eef4df5b9e90bc050a2d1e6 (diff)
sky2: hold spinlock around phy_power_down
Avoid any possible problems with accessing PHY registers on shutdown. This is a purely theoretical issue and is not related to any of the outstanding bug reports. Since receiver and transmitter are already shutdown and phy interrupts for this device are already disabled, there should already be enough protection. Suggested by Mike McCormack. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/sky2.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index b75b48e8397..1d3ee03fa64 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -1893,7 +1893,9 @@ static int sky2_down(struct net_device *dev)
synchronize_irq(hw->pdev->irq);
napi_synchronize(&hw->napi);
+ spin_lock_bh(&sky2->phy_lock);
sky2_phy_power_down(hw, port);
+ spin_unlock_bh(&sky2->phy_lock);
/* turn off LED's */
sky2_write16(hw, B0_Y2LED, LED_STAT_OFF);