summaryrefslogtreecommitdiffstats
path: root/drivers/net/sky2.c
diff options
context:
space:
mode:
authorMike McCormack <mikem@ring3k.org>2010-05-13 08:12:50 +0200
committerDavid S. Miller <davem@davemloft.net>2010-05-14 12:06:21 +0200
commit93135a3be0d909fabca9c4329177f71ae71b6847 (patch)
treef4ba5189446053fb9291c9b03dd55d773a89d3d8 /drivers/net/sky2.c
parentsky2: Avoid race in sky2_change_mtu (diff)
downloadlinux-93135a3be0d909fabca9c4329177f71ae71b6847.tar.xz
linux-93135a3be0d909fabca9c4329177f71ae71b6847.zip
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>
Diffstat (limited to 'drivers/net/sky2.c')
-rw-r--r--drivers/net/sky2.c4
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)
rtnl_lock();
- napi_disable(&hw->napi);
- synchronize_irq(hw->pdev->irq);
imask = sky2_read32(hw, B0_IMSK);
sky2_write32(hw, B0_IMSK, 0);
+ synchronize_irq(hw->pdev->irq);
+ napi_disable(&hw->napi);
for (i = 0; i < hw->ports; i++) {
struct net_device *dev = hw->dev[i];