提交 9372cacb 编写于 作者: P Padmanabh Ratnakar 提交者: David S. Miller

be2net: Prevent CQ full condition for Lancer

Indicate to HW that the CQ is cleaned up before posting new RX buffers.
This prevents the HW to go into CQ full error condition.
Signed-off-by: NPadmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 1610c79f
......@@ -1905,6 +1905,8 @@ static int be_poll_rx(struct napi_struct *napi, int budget)
be_rx_stats_update(rxo, rxcp);
}
be_cq_notify(adapter, rx_cq->id, false, work_done);
/* Refill the queue */
if (work_done && atomic_read(&rxo->q.used) < RX_FRAGS_REFILL_WM)
be_post_rx_frags(rxo, GFP_ATOMIC);
......@@ -1912,10 +1914,8 @@ static int be_poll_rx(struct napi_struct *napi, int budget)
/* All consumed */
if (work_done < budget) {
napi_complete(napi);
be_cq_notify(adapter, rx_cq->id, true, work_done);
} else {
/* More to be consumed; continue with interrupts disabled */
be_cq_notify(adapter, rx_cq->id, false, work_done);
/* Arm CQ */
be_cq_notify(adapter, rx_cq->id, true, 0);
}
return work_done;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册