From 45d7d35eeb67b0e70d146c22d2ec5eb455be3065 Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Mon, 9 Jan 2012 10:28:36 +0100 Subject: [PATCH] Fixed e1000 link detection race. --- devices/e1000/e1000_main-2.6.33-ethercat.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/devices/e1000/e1000_main-2.6.33-ethercat.c b/devices/e1000/e1000_main-2.6.33-ethercat.c index bdffb442..43ede128 100644 --- a/devices/e1000/e1000_main-2.6.33-ethercat.c +++ b/devices/e1000/e1000_main-2.6.33-ethercat.c @@ -3457,10 +3457,10 @@ static irqreturn_t e1000_intr(int irq, void *data) 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); }