aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJesse Brandeburg <jesse.brandeburg@intel.com>2008-09-11 22:56:14 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-09-24 18:54:51 -0400
commitf47cf66e9cc778d21533c681e89b4034ed2d8666 (patch)
tree4ee6985e706856385876272604ce7f7a79231673 /drivers
parent41fb924866128fbb3fe15aafe7becc7d5ce4504f (diff)
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ixgbe/ixgbe_main.c7
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)
1245 /* for NAPI, using EIAM to auto-mask tx/rx interrupt bits on read 1245 /* for NAPI, using EIAM to auto-mask tx/rx interrupt bits on read
1246 * therefore no explict interrupt disable is necessary */ 1246 * therefore no explict interrupt disable is necessary */
1247 eicr = IXGBE_READ_REG(hw, IXGBE_EICR); 1247 eicr = IXGBE_READ_REG(hw, IXGBE_EICR);
1248 if (!eicr) 1248 if (!eicr) {
1249 /* shared interrupt alert!
1250 * make sure interrupts are enabled because the read will
1251 * have disabled interrupts due to EIAM */
1252 ixgbe_irq_enable(adapter);
1249 return IRQ_NONE; /* Not our interrupt */ 1253 return IRQ_NONE; /* Not our interrupt */
1254 }
1250 1255
1251 if (eicr & IXGBE_EICR_LSC) 1256 if (eicr & IXGBE_EICR_LSC)
1252 ixgbe_check_lsc(adapter); 1257 ixgbe_check_lsc(adapter);