diff options
author | Mike McCormack <mikem@ring3k.org> | 2010-05-13 02:12:50 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-05-14 06:06:21 -0400 |
commit | 93135a3be0d909fabca9c4329177f71ae71b6847 (patch) | |
tree | f4ba5189446053fb9291c9b03dd55d773a89d3d8 | |
parent | df01093bb08916f434ebedde4610805d4105d05f (diff) |
sky2: Shut off interrupts before NAPI
Interrupts should be masked, then synchronized, and
finally NAPI should be disabled.
Signed-off-by: Mike McCormack <mikem@ring3k.org>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/sky2.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index efc31e93eb78..f13a45f1db68 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
@@ -3320,10 +3320,10 @@ static void sky2_restart(struct work_struct *work) | |||
3320 | 3320 | ||
3321 | rtnl_lock(); | 3321 | rtnl_lock(); |
3322 | 3322 | ||
3323 | napi_disable(&hw->napi); | ||
3324 | synchronize_irq(hw->pdev->irq); | ||
3325 | imask = sky2_read32(hw, B0_IMSK); | 3323 | imask = sky2_read32(hw, B0_IMSK); |
3326 | sky2_write32(hw, B0_IMSK, 0); | 3324 | sky2_write32(hw, B0_IMSK, 0); |
3325 | synchronize_irq(hw->pdev->irq); | ||
3326 | napi_disable(&hw->napi); | ||
3327 | 3327 | ||
3328 | for (i = 0; i < hw->ports; i++) { | 3328 | for (i = 0; i < hw->ports; i++) { |
3329 | struct net_device *dev = hw->dev[i]; | 3329 | struct net_device *dev = hw->dev[i]; |