From 535deaa35e534f096843d930a3ba11e36c75f0d5 Mon Sep 17 00:00:00 2001
From: Sathya Perla <sathyap@serverengines.com>
Date: Fri, 5 Dec 2008 15:52:15 +0530
Subject: [PATCH] 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>
---
 drivers/staging/benet/be_int.c | 15 ++-------------
 1 file changed, 2 insertions(+), 13 deletions(-)

diff --git a/drivers/staging/benet/be_int.c b/drivers/staging/benet/be_int.c
index b05e27d0a7ae2..cba95d09a8b6f 100644
--- a/drivers/staging/benet/be_int.c
+++ b/drivers/staging/benet/be_int.c
@@ -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++;
-- 
GitLab