igc: use napi_schedule_irqoff() instead of napi_schedule()

Replace napi_schedule() with napi_schedule_irqoff()
in the interrupt handler path in igc driver
Tested on Intel Corporation Ethernet Controller I226-V.

Suggested-by: Kohei Enju <kohei@enjuk.jp>
Signed-off-by: Daiki Harada <daiky0325@gmail.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Reviewed-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
Tested-by: Moriya Kadosh <moriyax.kadosh@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Link: https://patch.msgid.link/20260609213559.178657-11-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Daiki Harada 2026-06-09 14:35:51 -07:00 committed by Jakub Kicinski
parent ef298ba0f9
commit 046100cdeb

View File

@ -5688,7 +5688,7 @@ static irqreturn_t igc_msix_ring(int irq, void *data)
/* Write the ITR value calculated from the previous interrupt. */
igc_write_itr(q_vector);
napi_schedule(&q_vector->napi);
napi_schedule_irqoff(&q_vector->napi);
return IRQ_HANDLED;
}
@ -6059,7 +6059,7 @@ static irqreturn_t igc_intr_msi(int irq, void *data)
if (icr & IGC_ICR_TS)
igc_tsync_interrupt(adapter);
napi_schedule(&q_vector->napi);
napi_schedule_irqoff(&q_vector->napi);
return IRQ_HANDLED;
}
@ -6105,7 +6105,7 @@ static irqreturn_t igc_intr(int irq, void *data)
if (icr & IGC_ICR_TS)
igc_tsync_interrupt(adapter);
napi_schedule(&q_vector->napi);
napi_schedule_irqoff(&q_vector->napi);
return IRQ_HANDLED;
}