diff options
Diffstat (limited to 'drivers/net/ixgbe')
-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); |