patch-2.4.21 linux-2.4.21/drivers/net/atarilance.c
Next file: linux-2.4.21/drivers/net/atp.c
Previous file: linux-2.4.21/drivers/net/at1700.c
Back to the patch index
Back to the overall index
- Lines: 35
- Date:
2003-06-13 07:51:34.000000000 -0700
- Orig file:
linux-2.4.20/drivers/net/atarilance.c
- Orig date:
2002-11-28 15:53:13.000000000 -0800
diff -urN linux-2.4.20/drivers/net/atarilance.c linux-2.4.21/drivers/net/atarilance.c
@@ -786,6 +786,22 @@
DPRINTK( 2, ( "%s: lance_start_xmit() called, csr0 %4.4x.\n",
dev->name, DREG ));
+
+ /* The old LANCE chips doesn't automatically pad buffers to min. size. */
+ len = skb->len;
+ if(len < ETH_ZLEN)
+ len = ETH_ZLEN;
+ /* PAM-Card has a bug: Can only send packets with even number of bytes! */
+ else if (lp->cardtype == PAM_CARD && (len & 1))
+ ++len;
+
+ if(len > skb->len)
+ {
+ skb = skb_padto(skb, len);
+ if(skb == NULL)
+ return 0;
+ }
+
netif_stop_queue (dev);
/* Fill in a Tx ring entry */
@@ -815,11 +831,6 @@
* last.
*/
- /* The old LANCE chips doesn't automatically pad buffers to min. size. */
- len = (ETH_ZLEN < skb->len) ? skb->len : ETH_ZLEN;
- /* PAM-Card has a bug: Can only send packets with even number of bytes! */
- if (lp->cardtype == PAM_CARD && (len & 1))
- ++len;
head->length = -len;
head->misc = 0;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)