summaryrefslogtreecommitdiffstats
path: root/drivers/net/vxge/vxge-traffic.h
diff options
context:
space:
mode:
authorSreenivasa Honnur <Sreenivasa.Honnur@neterion.com>2010-03-29 00:08:30 +0200
committerDavid S. Miller <davem@davemloft.net>2010-03-30 01:57:21 +0200
commit3363276f1c420b7de92169ddabd2bb88aa26a7d6 (patch)
treefa5a2439f59cc90f104d9baf546a5f1e83233f4c /drivers/net/vxge/vxge-traffic.h
parentvxge: Fix a receive stall due to driver being out of synch with chip. (diff)
downloadlinux-3363276f1c420b7de92169ddabd2bb88aa26a7d6.tar.xz
linux-3363276f1c420b7de92169ddabd2bb88aa26a7d6.zip
vxge: Fix starvation of receive ring controller when blasted by short packets.
- Fix starvation of receive ring controller when blasted by short packets. This was because the driver was posting 64 rxds initially while the ring controller was expecting to read 256 replenished rxds. While the driver was coming up, the internal rxd memory filled up the 64 buffers provided and the ring controller was left waiting for the remaining 192 rxds to complete the write back of completed rxds to the host and generation of an interrupt. Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com> Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/vxge/vxge-traffic.h')
-rw-r--r--drivers/net/vxge/vxge-traffic.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/vxge/vxge-traffic.h b/drivers/net/vxge/vxge-traffic.h
index 3c35e446e247..bed65280d988 100644
--- a/drivers/net/vxge/vxge-traffic.h
+++ b/drivers/net/vxge/vxge-traffic.h
@@ -1955,7 +1955,7 @@ vxge_hw_ring_rxd_post_post(
void *rxdh);
enum vxge_hw_status
-vxge_hw_ring_replenish(struct __vxge_hw_ring *ring_handle, u16 min_flag);
+vxge_hw_ring_replenish(struct __vxge_hw_ring *ring_handle);
void
vxge_hw_ring_rxd_post_post_wmb(
@@ -2087,7 +2087,6 @@ void vxge_hw_fifo_txdl_free(
#define VXGE_HW_RING_NEXT_BLOCK_POINTER_OFFSET (VXGE_HW_BLOCK_SIZE-8)
#define VXGE_HW_RING_MEMBLOCK_IDX_OFFSET (VXGE_HW_BLOCK_SIZE-16)
-#define VXGE_HW_RING_MIN_BUFF_ALLOCATION 64
/*
* struct __vxge_hw_ring_rxd_priv - Receive descriptor HW-private data.