diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_main.c | 8 |
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 | } |