}
 EXPORT_SYMBOL(orinoco_stop);
 
-struct net_device_stats *orinoco_get_stats(struct net_device *dev)
-{
-       struct orinoco_private *priv = ndev_priv(dev);
-
-       return &priv->stats;
-}
-EXPORT_SYMBOL(orinoco_get_stats);
-
 void orinoco_set_multicast_list(struct net_device *dev)
 {
        struct orinoco_private *priv = ndev_priv(dev);
 static netdev_tx_t orinoco_xmit(struct sk_buff *skb, struct net_device *dev)
 {
        struct orinoco_private *priv = ndev_priv(dev);
-       struct net_device_stats *stats = &priv->stats;
+       struct net_device_stats *stats = &dev->stats;
        struct hermes *hw = &priv->hw;
        int err = 0;
        u16 txfid = priv->txfid;
 
 static void __orinoco_ev_tx(struct net_device *dev, struct hermes *hw)
 {
-       struct orinoco_private *priv = ndev_priv(dev);
-       struct net_device_stats *stats = &priv->stats;
-
-       stats->tx_packets++;
+       dev->stats.tx_packets++;
 
        netif_wake_queue(dev);
 
 
 static void __orinoco_ev_txexc(struct net_device *dev, struct hermes *hw)
 {
-       struct orinoco_private *priv = ndev_priv(dev);
-       struct net_device_stats *stats = &priv->stats;
+       struct net_device_stats *stats = &dev->stats;
        u16 fid = hermes_read_regn(hw, TXCOMPLFID);
        u16 status;
        struct hermes_txexc_data hdr;
 void orinoco_tx_timeout(struct net_device *dev)
 {
        struct orinoco_private *priv = ndev_priv(dev);
-       struct net_device_stats *stats = &priv->stats;
+       struct net_device_stats *stats = &dev->stats;
        struct hermes *hw = &priv->hw;
 
        printk(KERN_WARNING "%s: Tx timeout! "
        int len;
        struct sk_buff *skb;
        struct orinoco_private *priv = ndev_priv(dev);
-       struct net_device_stats *stats = &priv->stats;
+       struct net_device_stats *stats = &dev->stats;
        struct hermes *hw = &priv->hw;
 
        len = le16_to_cpu(desc->data_len);
 void __orinoco_ev_rx(struct net_device *dev, struct hermes *hw)
 {
        struct orinoco_private *priv = ndev_priv(dev);
-       struct net_device_stats *stats = &priv->stats;
+       struct net_device_stats *stats = &dev->stats;
        struct iw_statistics *wstats = &priv->wstats;
        struct sk_buff *skb = NULL;
        u16 rxfid, status;
                       struct sk_buff *skb)
 {
        struct orinoco_private *priv = ndev_priv(dev);
-       struct net_device_stats *stats = &priv->stats;
+       struct net_device_stats *stats = &dev->stats;
        u16 status, fc;
        int length;
        struct ethhdr *hdr;
        .ndo_set_mac_address    = eth_mac_addr,
        .ndo_validate_addr      = eth_validate_addr,
        .ndo_tx_timeout         = orinoco_tx_timeout,
-       .ndo_get_stats          = orinoco_get_stats,
 };
 
 /* Allocate private data.
 
 
        /* Net device stuff */
        struct net_device *ndev;
-       struct net_device_stats stats;
        struct iw_statistics wstats;
 
        /* Hardware control variables */
 /* Common ndo functions exported for reuse by orinoco_usb */
 int orinoco_open(struct net_device *dev);
 int orinoco_stop(struct net_device *dev);
-struct net_device_stats *orinoco_get_stats(struct net_device *dev);
 void orinoco_set_multicast_list(struct net_device *dev);
 int orinoco_change_mtu(struct net_device *dev, int new_mtu);
 void orinoco_tx_timeout(struct net_device *dev);
 
 
                if ((ctx->out_rid == EZUSB_RID_TX) && upriv->dev) {
                        struct net_device *dev = upriv->dev;
-                       struct orinoco_private *priv = ndev_priv(dev);
-                       struct net_device_stats *stats = &priv->stats;
+                       struct net_device_stats *stats = &dev->stats;
 
                        if (ctx->state != EZUSB_CTX_COMPLETE)
                                stats->tx_errors++;
 static netdev_tx_t ezusb_xmit(struct sk_buff *skb, struct net_device *dev)
 {
        struct orinoco_private *priv = ndev_priv(dev);
-       struct net_device_stats *stats = &priv->stats;
+       struct net_device_stats *stats = &dev->stats;
        struct ezusb_priv *upriv = priv->card;
        u8 mic[MICHAEL_MIC_LEN + 1];
        int err = 0;
        .ndo_set_mac_address    = eth_mac_addr,
        .ndo_validate_addr      = eth_validate_addr,
        .ndo_tx_timeout         = orinoco_tx_timeout,
-       .ndo_get_stats          = orinoco_get_stats,
 };
 
 static int ezusb_probe(struct usb_interface *interface,