diff options
author | Jesse Brandeburg <jesse.brandeburg@intel.com> | 2008-09-11 22:56:14 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-09-24 18:54:51 -0400 |
commit | f47cf66e9cc778d21533c681e89b4034ed2d8666 (patch) | |
tree | 4ee6985e706856385876272604ce7f7a79231673 /drivers | |
parent | 41fb924866128fbb3fe15aafe7becc7d5ce4504f (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.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) | |||
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); |