Staging: benet: cleanup a check while posting rx buffers
This patch cleans up the way to check if there is enough space in the rx_q while posting buffers. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
a9acfa42bf
commit
535deaa35e
@ -623,25 +623,14 @@ void be_post_eth_rx_buffs(struct be_net_object *pnob)
|
|||||||
*/
|
*/
|
||||||
INIT_LIST_HEAD(&rxbl);
|
INIT_LIST_HEAD(&rxbl);
|
||||||
|
|
||||||
for (num_bufs = 0; num_bufs < max_bufs; ++num_bufs) {
|
for (num_bufs = 0; num_bufs < max_bufs &&
|
||||||
|
!pnob->rx_page_info[pnob->rx_pg_info_hd].page; ++num_bufs) {
|
||||||
|
|
||||||
rxbp = &pnob->eth_rx_bufs[num_bufs];
|
rxbp = &pnob->eth_rx_bufs[num_bufs];
|
||||||
pg_hd = pnob->rx_pg_info_hd;
|
pg_hd = pnob->rx_pg_info_hd;
|
||||||
rx_page_info = &pnob->rx_page_info[pg_hd];
|
rx_page_info = &pnob->rx_page_info[pg_hd];
|
||||||
|
|
||||||
if (!page) {
|
if (!page) {
|
||||||
/*
|
|
||||||
* before we allocate a page make sure that we
|
|
||||||
* have space in the RX queue to post the buffer.
|
|
||||||
* We check for two vacant slots since with
|
|
||||||
* 2K frags, we will need two slots.
|
|
||||||
*/
|
|
||||||
if ((pnob->rx_ctxt[(pnob->rx_q_hd + num_bufs) &
|
|
||||||
(pnob->rx_q_len - 1)] != NULL)
|
|
||||||
|| (pnob->rx_ctxt[(pnob->rx_q_hd + num_bufs + 1) %
|
|
||||||
pnob->rx_q_len] != NULL)) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
page = alloc_pages(alloc_flags, page_order);
|
page = alloc_pages(alloc_flags, page_order);
|
||||||
if (unlikely(page == NULL)) {
|
if (unlikely(page == NULL)) {
|
||||||
adapter->be_stat.bes_ethrx_post_fail++;
|
adapter->be_stat.bes_ethrx_post_fail++;
|
||||||
|
Loading…
Reference in New Issue
Block a user