From 90b65b8aeaa5e1b63867d8e374dddf8174d3c00d Mon Sep 17 00:00:00 2001
From: eddietwo <eddietwo>
Date: Tue, 1 Mar 2005 16:35:12 +0000
Subject: [PATCH] calculate a correct count of the receive buffers to be
 refilled (11/7/03 patch from Kevin Lahey)

---
 drivers/e1000-4.x/src/e1000.h      | 2 ++
 drivers/e1000-4.x/src/e1000_main.c | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/e1000-4.x/src/e1000.h b/drivers/e1000-4.x/src/e1000.h
index 1d6bd34ef..142a3eeee 100644
--- a/drivers/e1000-4.x/src/e1000.h
+++ b/drivers/e1000-4.x/src/e1000.h
@@ -150,6 +150,8 @@ struct e1000_desc_ring {
 
 #define E1000_DESC_UNUSED(R) \
 ((((R)->next_to_clean + (R)->count) - ((R)->next_to_use + 1)) % ((R)->count))
+#define E1000_RX_DESC_UNUSED(R) \
+((((R)->next_to_clean + (R)->count) - ((R)->next_to_use)) % ((R)->count))
 
 #define E1000_GET_DESC(R, i, type)	(&(((struct type *)((R).desc))[i]))
 #define E1000_RX_DESC(R, i)		E1000_GET_DESC(R, i, e1000_rx_desc)
diff --git a/drivers/e1000-4.x/src/e1000_main.c b/drivers/e1000-4.x/src/e1000_main.c
index deba21720..b5a245a10 100644
--- a/drivers/e1000-4.x/src/e1000_main.c
+++ b/drivers/e1000-4.x/src/e1000_main.c
@@ -2678,7 +2678,7 @@ e1000_rx_refill(struct net_device *dev, struct sk_buff **skbs)
   struct sk_buff *skb_list;
 
   if(skbs == 0)
-    return E1000_DESC_UNUSED(&adapter->rx_ring);
+    return E1000_RX_DESC_UNUSED(&adapter->rx_ring);
 
   i = adapter->rx_ring.next_to_use;
   skb_list = *skbs;
@@ -2727,7 +2727,7 @@ e1000_rx_refill(struct net_device *dev, struct sk_buff **skbs)
     e1000_watchdog_1(adapter);
   }
 
-  return E1000_DESC_UNUSED(&adapter->rx_ring);
+  return E1000_RX_DESC_UNUSED(&adapter->rx_ring);
 }
 
 static int
-- 
GitLab