aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethernet/emulex/benet/be_main.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
index 21804972fa2f..30606f5ec0d0 100644
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
@@ -1905,6 +1905,8 @@ loop_continue:
1905 be_rx_stats_update(rxo, rxcp); 1905 be_rx_stats_update(rxo, rxcp);
1906 } 1906 }
1907 1907
1908 be_cq_notify(adapter, rx_cq->id, false, work_done);
1909
1908 /* Refill the queue */ 1910 /* Refill the queue */
1909 if (work_done && atomic_read(&rxo->q.used) < RX_FRAGS_REFILL_WM) 1911 if (work_done && atomic_read(&rxo->q.used) < RX_FRAGS_REFILL_WM)
1910 be_post_rx_frags(rxo, GFP_ATOMIC); 1912 be_post_rx_frags(rxo, GFP_ATOMIC);
@@ -1912,10 +1914,8 @@ loop_continue:
1912 /* All consumed */ 1914 /* All consumed */
1913 if (work_done < budget) { 1915 if (work_done < budget) {
1914 napi_complete(napi); 1916 napi_complete(napi);
1915 be_cq_notify(adapter, rx_cq->id, true, work_done); 1917 /* Arm CQ */
1916 } else { 1918 be_cq_notify(adapter, rx_cq->id, true, 0);
1917 /* More to be consumed; continue with interrupts disabled */
1918 be_cq_notify(adapter, rx_cq->id, false, work_done);
1919 } 1919 }
1920 return work_done; 1920 return work_done;
1921} 1921}