bnx2x: use napi_schedule_irqoff()
authorEric Dumazet <edumazet@google.com>
Thu, 30 Oct 2014 00:07:50 +0000 (17:07 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 Oct 2014 20:50:47 +0000 (16:50 -0400)
bnx2x_msix_fp_int() and bnx2x_interrupt() run from hard interrupt
context.

They can use napi_schedule_irqoff() instead of napi_schedule()

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Ariel Elior <ariel.elior@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c

index 40beef5..e9af4af 100644 (file)
@@ -1139,7 +1139,7 @@ static irqreturn_t bnx2x_msix_fp_int(int irq, void *fp_cookie)
                prefetch(fp->txdata_ptr[cos]->tx_cons_sb);
 
        prefetch(&fp->sb_running_index[SM_RX_ID]);
-       napi_schedule(&bnx2x_fp(bp, fp->index, napi));
+       napi_schedule_irqoff(&bnx2x_fp(bp, fp->index, napi));
 
        return IRQ_HANDLED;
 }
index 74fbf9e..c4bd025 100644 (file)
@@ -1931,7 +1931,7 @@ irqreturn_t bnx2x_interrupt(int irq, void *dev_instance)
                        for_each_cos_in_tx_queue(fp, cos)
                                prefetch(fp->txdata_ptr[cos]->tx_cons_sb);
                        prefetch(&fp->sb_running_index[SM_RX_ID]);
-                       napi_schedule(&bnx2x_fp(bp, fp->index, napi));
+                       napi_schedule_irqoff(&bnx2x_fp(bp, fp->index, napi));
                        status &= ~mask;
                }
        }