patch-2.4.21 linux-2.4.21/drivers/net/ariadne.c
Next file: linux-2.4.21/drivers/net/at1700.c
Previous file: linux-2.4.21/drivers/net/arcnet/rfc1201.c
Back to the patch index
Back to the overall index
- Lines: 34
- Date:
2003-06-13 07:51:34.000000000 -0700
- Orig file:
linux-2.4.20/drivers/net/ariadne.c
- Orig date:
2002-08-02 17:39:44.000000000 -0700
diff -urN linux-2.4.20/drivers/net/ariadne.c linux-2.4.21/drivers/net/ariadne.c
@@ -577,6 +577,7 @@
volatile struct Am79C960 *lance = (struct Am79C960*)dev->base_addr;
int entry;
unsigned long flags;
+ int len = skb->len;
#if 0
if (ariadne_debug > 3) {
@@ -587,6 +588,15 @@
}
#endif
+ /* FIXME: is the 79C960 new enough to do its own padding right ? */
+ if(skb->len < ETH_ZLEN)
+ {
+ skb = skb_padto(skb, ETH_ZLEN);
+ if(skb == NULL)
+ return 0;
+ len = ETH_ZLEN;
+ }
+
/* Fill in a Tx ring entry */
#if 0
@@ -617,8 +627,7 @@
priv->tx_ring[entry]->TMD2 = swapw((u_short)-skb->len);
priv->tx_ring[entry]->TMD3 = 0x0000;
- memcpyw(priv->tx_buff[entry], (u_short *)skb->data,
- skb->len <= ETH_ZLEN ? ETH_ZLEN : skb->len);
+ memcpyw(priv->tx_buff[entry], (u_short *)skb->data, len);
#if 0
{
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)