# HG changeset patch # User Florian Pose # Date 1326101316 -3600 # Node ID e11f5df971e3a5162570e40a6cccb2ec3b5f4f2c # Parent 1abb01002cc544a02cf26161d5d511be3b191642 Fixed e1000 link detection race. diff -r 1abb01002cc5 -r e11f5df971e3 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); }