1
linux/drivers/net/vxge
Benjamin LaHaise ff67df55f6 vxge: fix pktgen hangs (don't abuse skb->cb[])
This patch fixes a case in the transmit completion code which was resulting
in pktgen hanging at the end of a run.  The cause is due to the fact that
the ->cb[] area of an skb cannot be used in a network driver's transmit
path, as that area belongs to the network protocol.  Pktgen hangs, as it
sends out the same packet multiple times, and vxge's use of this area of
the skb for a temporary list can only add the packet to the temporary list
once (while it may be on the queue many times).  The fix is to remove this
abuse of skb->cb[].  Instead, skb pointers are placed into a temporary
stack array, and then free outside of the tx lock.  This retains the smp
optimization of doing dev_kfree_skb() outside of the tx lock.

Signed-off-by: Benjamin LaHaise <ben.lahaise@neterion.com>
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>
2009-08-05 13:10:43 -07:00
..
Makefile Neterion: New driver: Kconfig and Makefile 2009-04-02 00:33:46 -07:00
vxge-config.c vxge: Removed ioremap of unused bar addresses and their references 2009-07-05 19:16:24 -07:00
vxge-config.h vxge: fix pktgen hangs (don't abuse skb->cb[]) 2009-08-05 13:10:43 -07:00
vxge-ethtool.c Neterion: New driver: Ethtool related 2009-04-02 00:33:44 -07:00
vxge-ethtool.h Neterion: New driver: Ethtool related 2009-04-02 00:33:44 -07:00
vxge-main.c vxge: fix pktgen hangs (don't abuse skb->cb[]) 2009-08-05 13:10:43 -07:00
vxge-main.h vxge: fix pktgen hangs (don't abuse skb->cb[]) 2009-08-05 13:10:43 -07:00
vxge-reg.h vxge: Corrected Register map entry for xmac_link registers 2009-07-05 19:16:30 -07:00
vxge-traffic.c vxge: fix pktgen hangs (don't abuse skb->cb[]) 2009-08-05 13:10:43 -07:00
vxge-traffic.h vxge: fix pktgen hangs (don't abuse skb->cb[]) 2009-08-05 13:10:43 -07:00
vxge-version.h vxge: Version update 2009-07-05 19:16:44 -07:00