mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
41fb924866
commit
f47cf66e9c
|
@ -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
|
/* for NAPI, using EIAM to auto-mask tx/rx interrupt bits on read
|
||||||
* therefore no explict interrupt disable is necessary */
|
* therefore no explict interrupt disable is necessary */
|
||||||
eicr = IXGBE_READ_REG(hw, IXGBE_EICR);
|
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 */
|
return IRQ_NONE; /* Not our interrupt */
|
||||||
|
}
|
||||||
|
|
||||||
if (eicr & IXGBE_EICR_LSC)
|
if (eicr & IXGBE_EICR_LSC)
|
||||||
ixgbe_check_lsc(adapter);
|
ixgbe_check_lsc(adapter);
|
||||||
|
|
Loading…
Reference in New Issue