patch-2.4.21 linux-2.4.21/drivers/net/znet.c
Next file: linux-2.4.21/drivers/parport/ChangeLog
Previous file: linux-2.4.21/drivers/net/yellowfin.c
Back to the patch index
Back to the overall index
- Lines: 28
- Date:
2003-06-13 07:51:35.000000000 -0700
- Orig file:
linux-2.4.20/drivers/net/znet.c
- Orig date:
2001-07-17 18:53:55.000000000 -0700
diff -urN linux-2.4.20/drivers/net/znet.c linux-2.4.21/drivers/net/znet.c
@@ -348,10 +348,19 @@
int ioaddr = dev->base_addr;
struct net_local *lp = (struct net_local *)dev->priv;
unsigned long flags;
+ short length = skb->len;
if (znet_debug > 4)
printk(KERN_DEBUG "%s: ZNet_send_packet.\n", dev->name);
+ if(length < ETH_ZLEN)
+ {
+ skb = skb_padto(skb, ETH_ZLEN);
+ if(skb == NULL)
+ return 0;
+ length = ETH_ZLEN;
+ }
+
netif_stop_queue (dev);
/* Check that the part hasn't reset itself, probably from suspend. */
@@ -362,7 +371,6 @@
hardware_init(dev);
if (1) {
- short length = ETH_ZLEN < skb->len ? skb->len : ETH_ZLEN;
unsigned char *buf = (void *)skb->data;
ushort *tx_link = zn.tx_cur - 1;
ushort rnd_len = (length + 1)>>1;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)