summaryrefslogtreecommitdiffstats
path: root/drivers/net/sky2.h
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-09-26 11:57:41 -0700
committerJeff Garzik <jeff@garzik.org>2006-09-27 17:56:31 -0400
commit291ea6142b94cc3e3ae2216d3937a78697447471 (patch)
tree8a38d22cf394a4372f88ade9cc5815b18e9d8578 /drivers/net/sky2.h
parent9fa1b1f33c4cbbe0ba7c0c166d170faaa735e53d (diff)
downloadlinux-stable-291ea6142b94cc3e3ae2216d3937a78697447471.tar.gz
linux-stable-291ea6142b94cc3e3ae2216d3937a78697447471.tar.bz2
linux-stable-291ea6142b94cc3e3ae2216d3937a78697447471.zip
[PATCH] sky2: incremental transmit completion
Since a transmit can take several control blocks, the old code waited until the last control block was marked as done. This code processes the return values incrementally. This makes slots in the tx ring available and less chance of getting stuck. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/sky2.h')
-rw-r--r--drivers/net/sky2.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h
index b2981565e9e3..c1e45123d44f 100644
--- a/drivers/net/sky2.h
+++ b/drivers/net/sky2.h
@@ -1774,10 +1774,10 @@ struct sky2_status_le {
struct tx_ring_info {
struct sk_buff *skb;
DECLARE_PCI_UNMAP_ADDR(mapaddr);
- u16 idx;
+ DECLARE_PCI_UNMAP_ADDR(maplen);
};
-struct ring_info {
+struct rx_ring_info {
struct sk_buff *skb;
dma_addr_t mapaddr;
};
@@ -1799,7 +1799,7 @@ struct sky2_port {
u16 tx_last_mss;
u32 tx_tcpsum;
- struct ring_info *rx_ring ____cacheline_aligned_in_smp;
+ struct rx_ring_info *rx_ring ____cacheline_aligned_in_smp;
struct sky2_rx_le *rx_le;
u32 rx_addr64;
u16 rx_next; /* next re to check */