enic: use napi_schedule_irqoff()

enic_isr_legacy(), enic_isr_msix() & enic_isr_msi() run from hard
interrupt context.

They can use napi_schedule_irqoff() instead of napi_schedule()

Signed-off-by: Govindarajulu Varadarajan <_govind@gmx.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Govindarajulu Varadarajan 2014-11-23 01:22:51 +05:30 committed by David S. Miller
parent bd635c354d
commit db40b3f55a
1 changed files with 5 additions and 7 deletions

View File

@ -283,12 +283,10 @@ static irqreturn_t enic_isr_legacy(int irq, void *data)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
if (ENIC_TEST_INTR(pba, io_intr)) { if (ENIC_TEST_INTR(pba, io_intr))
if (napi_schedule_prep(&enic->napi[0])) napi_schedule_irqoff(&enic->napi[0]);
__napi_schedule(&enic->napi[0]); else
} else {
vnic_intr_unmask(&enic->intr[io_intr]); vnic_intr_unmask(&enic->intr[io_intr]);
}
return IRQ_HANDLED; return IRQ_HANDLED;
} }
@ -313,7 +311,7 @@ static irqreturn_t enic_isr_msi(int irq, void *data)
* writes). * writes).
*/ */
napi_schedule(&enic->napi[0]); napi_schedule_irqoff(&enic->napi[0]);
return IRQ_HANDLED; return IRQ_HANDLED;
} }
@ -322,7 +320,7 @@ static irqreturn_t enic_isr_msix(int irq, void *data)
{ {
struct napi_struct *napi = data; struct napi_struct *napi = data;
napi_schedule(napi); napi_schedule_irqoff(napi);
return IRQ_HANDLED; return IRQ_HANDLED;
} }