diff options
| author | Govindarajulu Varadarajan <_govind@gmx.com> | 2014-11-22 14:52:51 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2014-11-23 14:31:25 -0500 |
| commit | db40b3f55a2297eff15f24a4d3d52f70783a6530 (patch) | |
| tree | e677d547bc11ebc9dad8eb74a1db4d79e14e8e38 /drivers/net/ethernet/cisco/enic | |
| parent | bd635c354de407b3cdca9d0948c7bfdc3c0c63cf (diff) | |
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>
Diffstat (limited to 'drivers/net/ethernet/cisco/enic')
| -rw-r--r-- | drivers/net/ethernet/cisco/enic/enic_main.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c index b9cda2fc5ae8..b42a48097dbd 100644 --- a/drivers/net/ethernet/cisco/enic/enic_main.c +++ b/drivers/net/ethernet/cisco/enic/enic_main.c | |||
| @@ -283,12 +283,10 @@ static irqreturn_t enic_isr_legacy(int irq, void *data) | |||
| 283 | return IRQ_HANDLED; | 283 | return IRQ_HANDLED; |
| 284 | } | 284 | } |
| 285 | 285 | ||
| 286 | if (ENIC_TEST_INTR(pba, io_intr)) { | 286 | if (ENIC_TEST_INTR(pba, io_intr)) |
| 287 | if (napi_schedule_prep(&enic->napi[0])) | 287 | napi_schedule_irqoff(&enic->napi[0]); |
| 288 | __napi_schedule(&enic->napi[0]); | 288 | else |
| 289 | } else { | ||
| 290 | vnic_intr_unmask(&enic->intr[io_intr]); | 289 | vnic_intr_unmask(&enic->intr[io_intr]); |
| 291 | } | ||
| 292 | 290 | ||
| 293 | return IRQ_HANDLED; | 291 | return IRQ_HANDLED; |
| 294 | } | 292 | } |
| @@ -313,7 +311,7 @@ static irqreturn_t enic_isr_msi(int irq, void *data) | |||
| 313 | * writes). | 311 | * writes). |
| 314 | */ | 312 | */ |
| 315 | 313 | ||
| 316 | napi_schedule(&enic->napi[0]); | 314 | napi_schedule_irqoff(&enic->napi[0]); |
| 317 | 315 | ||
| 318 | return IRQ_HANDLED; | 316 | return IRQ_HANDLED; |
| 319 | } | 317 | } |
| @@ -322,7 +320,7 @@ static irqreturn_t enic_isr_msix(int irq, void *data) | |||
| 322 | { | 320 | { |
| 323 | struct napi_struct *napi = data; | 321 | struct napi_struct *napi = data; |
| 324 | 322 | ||
| 325 | napi_schedule(napi); | 323 | napi_schedule_irqoff(napi); |
| 326 | 324 | ||
| 327 | return IRQ_HANDLED; | 325 | return IRQ_HANDLED; |
| 328 | } | 326 | } |
