Skip to content

Commit

Permalink
Staging: benet: cleanup a check while posting rx buffers
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Sathya Perla authored and Greg Kroah-Hartman committed Jan 6, 2009
1 parent a9acfa4 commit 535deaa
Showing 1 changed file with 2 additions and 13 deletions.
15 changes: 2 additions & 13 deletions drivers/staging/benet/be_int.c
Original file line number Diff line number Diff line change
Expand Up @@ -623,25 +623,14 @@ void be_post_eth_rx_buffs(struct be_net_object *pnob)
*/
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];
pg_hd = pnob->rx_pg_info_hd;
rx_page_info = &pnob->rx_page_info[pg_hd];

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);
if (unlikely(page == NULL)) {
adapter->be_stat.bes_ethrx_post_fail++;
Expand Down

0 comments on commit 535deaa

Please sign in to comment.