patch-2.4.2 linux/drivers/net/bagetlance.c
Next file: linux/drivers/net/bmac.c
Previous file: linux/drivers/net/atp.c
Back to the patch index
Back to the overall index
- Lines: 44
- Date:
Tue Feb 13 13:15:05 2001
- Orig file:
v2.4.1/linux/drivers/net/bagetlance.c
- Orig date:
Tue Dec 5 12:29:38 2000
diff -u --recursive --new-file v2.4.1/linux/drivers/net/bagetlance.c linux/drivers/net/bagetlance.c
@@ -22,7 +22,7 @@
#include <linux/string.h>
#include <linux/ptrace.h>
#include <linux/errno.h>
-#include <linux/malloc.h>
+#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/init.h>
@@ -584,8 +584,11 @@
probe_ok:
init_etherdev( dev, sizeof(struct lance_private) );
- if (!dev->priv)
+ if (!dev->priv) {
dev->priv = kmalloc( sizeof(struct lance_private), GFP_KERNEL );
+ if (!dev->priv)
+ return 0;
+ }
lp = (struct lance_private *)dev->priv;
MEM = (struct lance_memory *)memaddr;
IO = lp->iobase = (struct lance_ioreg *)ioaddr;
@@ -930,9 +933,9 @@
#else
SET_FLAG(head,(TMD1_OWN_CHIP | TMD1_ENP | TMD1_STP));
#endif
+ lp->stats.tx_bytes += skb->len;
dev_kfree_skb( skb );
lp->cur_tx++;
- lp->stats.tx_bytes += skb->len;
while( lp->cur_tx >= TX_RING_SIZE && lp->dirty_tx >= TX_RING_SIZE ) {
lp->cur_tx -= TX_RING_SIZE;
lp->dirty_tx -= TX_RING_SIZE;
@@ -1182,8 +1185,9 @@
lp->memcpy_f( skb->data, PKTBUF_ADDR(head), pkt_len );
skb->protocol = eth_type_trans( skb, dev );
netif_rx( skb );
+ dev->last_rx = jiffies;
lp->stats.rx_packets++;
- lp->stats.rx_bytes += skb->len;
+ lp->stats.rx_bytes += pkt_len;
}
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)