static int ether1_sendpacket(struct sk_buff *skb, struct net_device *dev);
 static irqreturn_t ether1_interrupt(int irq, void *dev_id);
 static int ether1_close(struct net_device *dev);
-static struct net_device_stats *ether1_getstats(struct net_device *dev);
 static void ether1_setmulticastlist(struct net_device *dev);
 static void ether1_timeout(struct net_device *dev);
 
        if (request_irq(dev->irq, ether1_interrupt, 0, "ether1", dev))
                return -EAGAIN;
 
-       memset (&priv(dev)->stats, 0, sizeof (struct net_device_stats));
-
        if (ether1_init_for_open (dev)) {
                free_irq (dev->irq, dev);
                return -EAGAIN;
        if (ether1_init_for_open (dev))
                printk (KERN_ERR "%s: unable to restart interface\n", dev->name);
 
-       priv(dev)->stats.tx_errors++;
+       dev->stats.tx_errors++;
        netif_wake_queue(dev);
 }
 
 
        while (nop.nop_status & STAT_COMPLETE) {
                if (nop.nop_status & STAT_OK) {
-                       priv(dev)->stats.tx_packets ++;
-                       priv(dev)->stats.collisions += (nop.nop_status & STAT_COLLISIONS);
+                       dev->stats.tx_packets++;
+                       dev->stats.collisions += (nop.nop_status & STAT_COLLISIONS);
                } else {
-                       priv(dev)->stats.tx_errors ++;
+                       dev->stats.tx_errors++;
 
                        if (nop.nop_status & STAT_COLLAFTERTX)
-                               priv(dev)->stats.collisions ++;
+                               dev->stats.collisions++;
                        if (nop.nop_status & STAT_NOCARRIER)
-                               priv(dev)->stats.tx_carrier_errors ++;
+                               dev->stats.tx_carrier_errors++;
                        if (nop.nop_status & STAT_TXLOSTCTS)
                                printk (KERN_WARNING "%s: cts lost\n", dev->name);
                        if (nop.nop_status & STAT_TXSLOWDMA)
-                               priv(dev)->stats.tx_fifo_errors ++;
+                               dev->stats.tx_fifo_errors++;
                        if (nop.nop_status & STAT_COLLEXCESSIVE)
-                               priv(dev)->stats.collisions += 16;
+                               dev->stats.collisions += 16;
                }
 
                if (nop.nop_link == caddr) {
 
                                skb->protocol = eth_type_trans (skb, dev);
                                netif_rx (skb);
-                               priv(dev)->stats.rx_packets ++;
+                               dev->stats.rx_packets++;
                        } else
-                               priv(dev)->stats.rx_dropped ++;
+                               dev->stats.rx_dropped++;
                } else {
                        printk(KERN_WARNING "%s: %s\n", dev->name,
                                (rbd.rbd_status & RBD_EOF) ? "oversized packet" : "acnt not valid");
-                       priv(dev)->stats.rx_dropped ++;
+                       dev->stats.rx_dropped++;
                }
 
                nexttail = ether1_readw(dev, priv(dev)->rx_tail, rfd_t, rfd_link, NORMALIRQS);
                                printk (KERN_WARNING "%s: RU went not ready: RU suspended\n", dev->name);
                                ether1_writew(dev, SCB_CMDRXRESUME, SCB_ADDR, scb_t, scb_command, NORMALIRQS);
                                writeb(CTRL_CA, REG_CONTROL);
-                               priv(dev)->stats.rx_dropped ++; /* we suspended due to lack of buffer space */
+                               dev->stats.rx_dropped++;        /* we suspended due to lack of buffer space */
                        } else
                                printk(KERN_WARNING "%s: RU went not ready: %04X\n", dev->name,
                                        ether1_readw(dev, SCB_ADDR, scb_t, scb_status, NORMALIRQS));
        return 0;
 }
 
-static struct net_device_stats *
-ether1_getstats (struct net_device *dev)
-{
-       return &priv(dev)->stats;
-}
-
 /*
  * Set or clear the multicast filter for this adaptor.
  * num_addrs == -1     Promiscuous mode, receive all packets.
        .ndo_open               = ether1_open,
        .ndo_stop               = ether1_close,
        .ndo_start_xmit         = ether1_sendpacket,
-       .ndo_get_stats          = ether1_getstats,
        .ndo_set_multicast_list = ether1_setmulticastlist,
        .ndo_tx_timeout         = ether1_timeout,
        .ndo_validate_addr      = eth_validate_addr,