Avoided enabling timer.
--- a/devices/e1000/e1000_main-2.6.32-ethercat.c Mon Jan 09 10:52:46 2012 +0100
+++ b/devices/e1000/e1000_main-2.6.32-ethercat.c Mon Jan 09 12:01:22 2012 +0100
@@ -3437,7 +3437,7 @@
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);
}
--- a/devices/e1000/e1000_main-2.6.37-ethercat.c Mon Jan 09 10:52:46 2012 +0100
+++ b/devices/e1000/e1000_main-2.6.37-ethercat.c Mon Jan 09 12:01:22 2012 +0100
@@ -3548,7 +3548,7 @@
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);
}