Fixed e1000 link detection race. stable-1.5
authorFlorian Pose <fp@igh-essen.com>
Mon, 09 Jan 2012 10:28:36 +0100
branchstable-1.5
changeset 2207 e11f5df971e3
parent 2204 1abb01002cc5
child 2212 8fd38efc562f
Fixed e1000 link detection race.
devices/e1000/e1000_main-2.6.33-ethercat.c
--- a/devices/e1000/e1000_main-2.6.33-ethercat.c	Mon Jan 09 10:23:40 2012 +0100
+++ b/devices/e1000/e1000_main-2.6.33-ethercat.c	Mon Jan 09 10:28:36 2012 +0100
@@ -3457,10 +3457,10 @@
 	if (unlikely((!icr) || test_bit(__E1000_DOWN, &adapter->flags)))
 		return IRQ_NONE;  /* Not our interrupt */
 
-	if (!adapter->ecdev && unlikely(icr & (E1000_ICR_RXSEQ | E1000_ICR_LSC))) {
+	if (unlikely(icr & (E1000_ICR_RXSEQ | E1000_ICR_LSC))) {
 		hw->get_link_status = 1;
 		/* guard against interrupt when we're going down */
-		if (!test_bit(__E1000_DOWN, &adapter->flags))
+		if (!adapter->ecdev && !test_bit(__E1000_DOWN, &adapter->flags))
 			mod_timer(&adapter->watchdog_timer, jiffies + 1);
 	}