patch-2.1.25 linux/drivers/net/lance.c
Next file: linux/drivers/net/lance32.c
Previous file: linux/drivers/net/ibmtr.c
Back to the patch index
Back to the overall index
- Lines: 75
- Date:
Sun Feb 2 15:18:40 1997
- Orig file:
v2.1.24/linux/drivers/net/lance.c
- Orig date:
Thu Jan 23 21:06:47 1997
diff -u --recursive --new-file v2.1.24/linux/drivers/net/lance.c linux/drivers/net/lance.c
@@ -234,7 +234,7 @@
int cur_rx, cur_tx; /* The next free ring entry */
int dirty_rx, dirty_tx; /* The ring entries to be free()ed. */
int dma;
- struct enet_statistics stats;
+ struct net_device_stats stats;
unsigned char chip_version; /* See lance_chip_type. */
char tx_full;
unsigned long lock;
@@ -294,7 +294,7 @@
static int lance_rx(struct device *dev);
static void lance_interrupt(int irq, void *dev_id, struct pt_regs *regs);
static int lance_close(struct device *dev);
-static struct enet_statistics *lance_get_stats(struct device *dev);
+static struct net_device_stats *lance_get_stats(struct device *dev);
static void set_multicast_list(struct device *dev);
@@ -777,8 +777,7 @@
outw(csr0_bits, dev->base_addr + LANCE_DATA);
}
-static int
-lance_start_xmit(struct sk_buff *skb, struct device *dev)
+static int lance_start_xmit(struct sk_buff *skb, struct device *dev)
{
struct lance_private *lp = (struct lance_private *)dev->priv;
int ioaddr = dev->base_addr;
@@ -820,14 +819,6 @@
return 0;
}
- if (skb == NULL) {
- dev_tint(dev);
- return 0;
- }
-
- if (skb->len <= 0)
- return 0;
-
if (lance_debug > 3) {
outw(0x0000, ioaddr+LANCE_ADDR);
printk("%s: lance_start_xmit() called, csr0 %4.4x.\n", dev->name,
@@ -881,7 +872,8 @@
lp->tx_ring[entry].base = ((u32)virt_to_bus(skb->data) & 0xffffff) | 0x83000000;
}
lp->cur_tx++;
-
+ lp->stats.tx_bytes+=skb->len;
+
/* Trigger an immediate send poll. */
outw(0x0000, ioaddr+LANCE_ADDR);
outw(0x0048, ioaddr+LANCE_DATA);
@@ -1088,9 +1080,10 @@
eth_copy_and_sum(skb,
(unsigned char *)bus_to_virt((lp->rx_ring[entry].base & 0x00ffffff)),
pkt_len,0);
+ lp->stats.rx_bytes+=skb->len;
skb->protocol=eth_type_trans(skb,dev);
- netif_rx(skb);
lp->stats.rx_packets++;
+ netif_rx(skb);
}
}
/* The docs say that the buffer length isn't touched, but Andrew Boyd
@@ -1139,8 +1132,7 @@
return 0;
}
-static struct enet_statistics *
-lance_get_stats(struct device *dev)
+static struct net_device_stats *lance_get_stats(struct device *dev)
{
struct lance_private *lp = (struct lance_private *)dev->priv;
short ioaddr = dev->base_addr;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov