diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2006-09-26 11:57:41 -0700 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-09-27 17:56:31 -0400 |
commit | 291ea6142b94cc3e3ae2216d3937a78697447471 (patch) | |
tree | 8a38d22cf394a4372f88ade9cc5815b18e9d8578 /drivers/net/sky2.h | |
parent | 9fa1b1f33c4cbbe0ba7c0c166d170faaa735e53d (diff) | |
download | kernel_samsung_smdk4412-291ea6142b94cc3e3ae2216d3937a78697447471.zip kernel_samsung_smdk4412-291ea6142b94cc3e3ae2216d3937a78697447471.tar.gz kernel_samsung_smdk4412-291ea6142b94cc3e3ae2216d3937a78697447471.tar.bz2 |
[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.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h index b298156..c1e4512 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 */ |