]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
igb: use napi_schedule_irqoff() instead of napi_schedule()
authorDaiki Harada <daiky0325@gmail.com>
Tue, 9 Jun 2026 21:35:50 +0000 (14:35 -0700)
committerJakub Kicinski <kuba@kernel.org>
Sat, 13 Jun 2026 23:44:05 +0000 (16:44 -0700)
Replace napi_schedule() with napi_schedule_irqoff()
in the interrupt handler path in igb driver

Tested on QEMU with igb NIC emulation (-nic user,model=igb)

Suggested-by: Kohei Enju <kohei@enjuk.jp>
Signed-off-by: Daiki Harada <daiky0325@gmail.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Tested-by: Rinitha S <sx.rinitha@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Link: https://patch.msgid.link/20260609213559.178657-10-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/intel/igb/igb_main.c

index 49d46670695f384721afe8ae48b7ae4c80fb9b3c..a1e89a375744c174d0722c7c9debbe6f3e3c091e 100644 (file)
@@ -7157,7 +7157,7 @@ static irqreturn_t igb_msix_ring(int irq, void *data)
        /* Write the ITR value calculated from the previous interrupt. */
        igb_write_itr(q_vector);
 
-       napi_schedule(&q_vector->napi);
+       napi_schedule_irqoff(&q_vector->napi);
 
        return IRQ_HANDLED;
 }
@@ -8198,7 +8198,7 @@ static irqreturn_t igb_intr_msi(int irq, void *data)
        if (icr & E1000_ICR_TS)
                igb_tsync_interrupt(adapter);
 
-       napi_schedule(&q_vector->napi);
+       napi_schedule_irqoff(&q_vector->napi);
 
        return IRQ_HANDLED;
 }
@@ -8244,7 +8244,7 @@ static irqreturn_t igb_intr(int irq, void *data)
        if (icr & E1000_ICR_TS)
                igb_tsync_interrupt(adapter);
 
-       napi_schedule(&q_vector->napi);
+       napi_schedule_irqoff(&q_vector->napi);
 
        return IRQ_HANDLED;
 }