diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2009-02-06 18:20:49 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-02-07 05:43:13 -0500 |
commit | 4a3c6433e48592f260278966742a99e0d77de3cc (patch) | |
tree | 351ea20c007219590823a6b27e1fbc93f10fe26a /drivers/net/igb/igb_main.c | |
parent | 28b0759c224cad4ae8f5ed47f5af862dd2d1e1ed (diff) |
igb: don't read eicr when responding to legacy interrupts
The interrupt handler was reading eicr and then doing nothing with the
result. I have removed the variable and the register read since they
provide no value to the legacy interrupt handler.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/igb/igb_main.c')
-rw-r--r-- | drivers/net/igb/igb_main.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c index e3f521ccf9d5..56c14557cea3 100644 --- a/drivers/net/igb/igb_main.c +++ b/drivers/net/igb/igb_main.c | |||
@@ -3519,7 +3519,7 @@ static irqreturn_t igb_intr_msi(int irq, void *data) | |||
3519 | } | 3519 | } |
3520 | 3520 | ||
3521 | /** | 3521 | /** |
3522 | * igb_intr - Interrupt Handler | 3522 | * igb_intr - Legacy Interrupt Handler |
3523 | * @irq: interrupt number | 3523 | * @irq: interrupt number |
3524 | * @data: pointer to a network interface device structure | 3524 | * @data: pointer to a network interface device structure |
3525 | **/ | 3525 | **/ |
@@ -3531,7 +3531,6 @@ static irqreturn_t igb_intr(int irq, void *data) | |||
3531 | /* Interrupt Auto-Mask...upon reading ICR, interrupts are masked. No | 3531 | /* Interrupt Auto-Mask...upon reading ICR, interrupts are masked. No |
3532 | * need for the IMC write */ | 3532 | * need for the IMC write */ |
3533 | u32 icr = rd32(E1000_ICR); | 3533 | u32 icr = rd32(E1000_ICR); |
3534 | u32 eicr = 0; | ||
3535 | if (!icr) | 3534 | if (!icr) |
3536 | return IRQ_NONE; /* Not our interrupt */ | 3535 | return IRQ_NONE; /* Not our interrupt */ |
3537 | 3536 | ||
@@ -3547,8 +3546,6 @@ static irqreturn_t igb_intr(int irq, void *data) | |||
3547 | adapter->stats.doosync++; | 3546 | adapter->stats.doosync++; |
3548 | } | 3547 | } |
3549 | 3548 | ||
3550 | eicr = rd32(E1000_EICR); | ||
3551 | |||
3552 | if (icr & (E1000_ICR_RXSEQ | E1000_ICR_LSC)) { | 3549 | if (icr & (E1000_ICR_RXSEQ | E1000_ICR_LSC)) { |
3553 | hw->mac.get_link_status = 1; | 3550 | hw->mac.get_link_status = 1; |
3554 | /* guard against interrupt when we're going down */ | 3551 | /* guard against interrupt when we're going down */ |