Jeff Garzik <jgarzik@xxxxxxxxx> :
[...]
Also, the r8169 implementation should be similar, if someone (Francois?)
wants to tackle it.
I'll copy and test it tomorrow on r8169 if nobody beats me.
On a related note, 8139cp probably wants something like the patch below for
the usual SG handling (on top of 2.6.9-rc1 + -mm1 + TSO patch):
- suspicious length in pci_unmap_single;
- wait for the last frag before freeing the relevant skb;
- no need to crash when facing some unexpected csum combination.
diff -puN drivers/net/8139cp.c~8139cp-010 drivers/net/8139cp.c
--- linux-2.6.9-rc1/drivers/net/8139cp.c~8139cp-010 2004-08-29 23:47:07.000000000 +0200
+++ linux-2.6.9-rc1-fr/drivers/net/8139cp.c 2004-08-30 00:16:13.000000000 +0200
@@ -807,7 +807,6 @@ static int cp_start_xmit (struct sk_buff
cp->tx_skb[entry].skb = skb;
cp->tx_skb[entry].mapping = mapping;
- cp->tx_skb[entry].frag = 0;
entry = NEXT_TX(entry);
} else {
struct cp_desc *txd;