1 # fix for CAN-2003-0001 fix (1.1063.1.51, from 2.4.23-pre3)
2 --- linux-2.4.22/drivers/net/3c527.c 2003-06-13 14:51:34.000000000 +0000
3 +++ linux-2.4.23-pre3/drivers/net/3c527.c 2003-09-03 20:36:51.000000000 +0000
4 @@ -1083,15 +1083,16 @@
5 /* NP is the buffer we will be loading */
6 np=lp->tx_ring[lp->tx_ring_head].p;
8 - /* We will need this to flush the buffer out */
9 - lp->tx_ring[lp->tx_ring_head].skb=skb;
11 if(skb->len < ETH_ZLEN)
13 skb = skb_padto(skb, ETH_ZLEN);
18 + /* We will need this to flush the buffer out */
19 + lp->tx_ring[lp->tx_ring_head].skb=skb;
21 np->length = (skb->len < ETH_ZLEN) ? ETH_ZLEN : skb->len;
23 np->data = virt_to_bus(skb->data);
24 --- linux-2.4.22/drivers/net/eth16i.c 2003-06-13 14:51:34.000000000 +0000
25 +++ linux-2.4.23-pre3/drivers/net/eth16i.c 2003-09-03 20:35:21.000000000 +0000
27 int ioaddr = dev->base_addr;
29 ushort length = skb->len;
30 - unsigned char *buf = skb->data;
41 netif_stop_queue(dev);
43 --- linux-2.4.22/drivers/net/seeq8005.c 2003-06-13 14:51:35.000000000 +0000
44 +++ linux-2.4.23-pre3/drivers/net/seeq8005.c 2003-09-03 20:37:36.000000000 +0000
47 struct net_local *lp = (struct net_local *)dev->priv;
48 short length = skb->len;
49 - unsigned char *buf = skb->data;
60 /* Block a timer-based transmit from overlapping */
61 netif_stop_queue(dev);
63 --- linux-2.4.22/drivers/net/yellowfin.c 2003-06-13 14:51:35.000000000 +0000
64 +++ linux-2.4.23-pre3/drivers/net/yellowfin.c 2003-09-03 20:35:43.000000000 +0000
66 /* Calculate the next Tx descriptor entry. */
67 entry = yp->cur_tx % TX_RING_SIZE;
69 - yp->tx_skbuff[entry] = skb;
71 if (gx_fix) { /* Note: only works for paddable protocols e.g. IP. */
72 int cacheline_end = ((unsigned long)skb->data + skb->len) % 32;
73 /* Fix GX chipset errata. */
78 + yp->tx_skbuff[entry] = skb;
81 yp->tx_ring[entry].addr = cpu_to_le32(pci_map_single(yp->pci_dev,
82 skb->data, len, PCI_DMA_TODEVICE));