diff options
author | Jesse Brandeburg <jesse.brandeburg@intel.com> | 2008-09-12 06:56:14 +0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-09-25 02:54:51 +0400 |
commit | f47cf66e9cc778d21533c681e89b4034ed2d8666 (patch) | |
tree | 4ee6985e706856385876272604ce7f7a79231673 | |
parent | 41fb924866128fbb3fe15aafe7becc7d5ce4504f (diff) | |
download | linux-f47cf66e9cc778d21533c681e89b4034ed2d8666.tar.xz |
ixgbe: fix bug with shared interrupts
fix ixgbe bug reported with shared legacy interrupts
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r-- | drivers/net/ixgbe/ixgbe_main.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c index 11bf86b93622..cfaa3ca28f51 100644 --- a/drivers/net/ixgbe/ixgbe_main.c +++ b/drivers/net/ixgbe/ixgbe_main.c @@ -1245,8 +1245,13 @@ static irqreturn_t ixgbe_intr(int irq, void *data) /* for NAPI, using EIAM to auto-mask tx/rx interrupt bits on read * therefore no explict interrupt disable is necessary */ eicr = IXGBE_READ_REG(hw, IXGBE_EICR); - if (!eicr) + if (!eicr) { + /* shared interrupt alert! + * make sure interrupts are enabled because the read will + * have disabled interrupts due to EIAM */ + ixgbe_irq_enable(adapter); return IRQ_NONE; /* Not our interrupt */ + } if (eicr & IXGBE_EICR_LSC) ixgbe_check_lsc(adapter); |