aboutsummaryrefslogtreecommitdiffstats
path: root/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/network/network.c
diff options
context:
space:
mode:
Diffstat (limited to 'xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/network/network.c')
-rw-r--r--xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/network/network.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/network/network.c b/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/network/network.c
index adcff526b4..7ef9ce4ef8 100644
--- a/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/network/network.c
+++ b/xenolinux-2.4.21-pre4-sparse/arch/xeno/drivers/network/network.c
@@ -23,6 +23,7 @@
#include <asm/io.h>
#include <net/sock.h>
+#include <net/pkt_sched.h>
#define NET_TX_IRQ _EVENT_NET_TX
#define NET_RX_IRQ _EVENT_NET_RX
@@ -185,7 +186,8 @@ static void network_tx_buf_gc(struct net_device *dev)
np->tx_idx = i;
/* Set a new event, then check for race with update of tx_cons. */
- np->net_ring->tx_event = TX_RING_INC(cons);
+ np->net_ring->tx_event =
+ TX_RING_ADD(cons, (atomic_read(&np->tx_entries)>>1) + 1);
smp_mb();
}
while ( cons != np->net_ring->tx_cons );