patch-2.4.21 linux-2.4.21/drivers/net/bagetlance.c
Next file: linux-2.4.21/drivers/net/bmac.c
Previous file: linux-2.4.21/drivers/net/atp.c
Back to the patch index
Back to the overall index
- Lines: 33
- Date:
2003-06-13 07:51:34.000000000 -0700
- Orig file:
linux-2.4.20/drivers/net/bagetlance.c
- Orig date:
2001-10-16 21:56:29.000000000 -0700
diff -urN linux-2.4.20/drivers/net/bagetlance.c linux-2.4.21/drivers/net/bagetlance.c
@@ -835,6 +835,19 @@
struct lance_tx_head *head;
unsigned long flags;
+ /* 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;
+
+ if (len > skb->len)
+ {
+ skb = skb_padto(skb, len);
+ if(skb == NULL)
+ return 0;
+ }
+
/* Transmitter timeout, serious problems. */
if (dev->tbusy) {
int tickssofar = jiffies - dev->trans_start;
@@ -921,12 +934,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;
lp->memcpy_f( PKTBUF_ADDR(head), (void *)skb->data, skb->len );
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)