e1000e: don't clean Rx ring while resetting
authorBruce Allan <bruce.w.allan@intel.com>
Fri, 20 Nov 2009 23:23:16 +0000 (23:23 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 21 Nov 2009 19:33:50 +0000 (11:33 -0800)
When using legacy interrupts, do not clean the Rx ring while resetting
otherwise traffic will not pass.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/e1000e/netdev.c

index 3845fb698b4d05f50834ec165e4f13c75e83f064..e819f19975504ce16cf91fd4ff9e0123dc664152 100644 (file)
@@ -1176,7 +1176,7 @@ static irqreturn_t e1000_intr(int irq, void *data)
        struct e1000_hw *hw = &adapter->hw;
        u32 rctl, icr = er32(ICR);
 
-       if (!icr)
+       if (!icr || test_bit(__E1000_DOWN, &adapter->state))
                return IRQ_NONE;  /* Not our interrupt */
 
        /*