Fixed e1000 link detection race. redundancy
authorFlorian Pose <fp@igh-essen.com>
Mon, 09 Jan 2012 10:28:36 +0100
branchredundancy
changeset 2320 89f44eee4d55
parent 2319 f51f3a98d760
child 2321 2f79f8770e31
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);
 	}