]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/wan/wanxl.c
Merge branch 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
[linux-2.6-omap-h63xx.git] / drivers / net / wan / wanxl.c
index d4aab8a28b61bd097c7c1123472b335c79944de2..a8a5ca0ee6c2dc8d59f16ee5e29a48d2b5db4dce 100644 (file)
@@ -161,7 +161,6 @@ static inline void wanxl_cable_intr(port_t *port)
 static inline void wanxl_tx_intr(port_t *port)
 {
        struct net_device *dev = port->dev;
-       struct net_device_stats *stats = hdlc_stats(dev);
        while (1) {
                 desc_t *desc = &get_status(port)->tx_descs[port->tx_in];
                struct sk_buff *skb = port->tx_skbs[port->tx_in];
@@ -173,13 +172,13 @@ static inline void wanxl_tx_intr(port_t *port)
                        return;
 
                case PACKET_UNDERRUN:
-                       stats->tx_errors++;
-                       stats->tx_fifo_errors++;
+                       dev->stats.tx_errors++;
+                       dev->stats.tx_fifo_errors++;
                        break;
 
                default:
-                       stats->tx_packets++;
-                       stats->tx_bytes += skb->len;
+                       dev->stats.tx_packets++;
+                       dev->stats.tx_bytes += skb->len;
                }
                 desc->stat = PACKET_EMPTY; /* Free descriptor */
                pci_unmap_single(port->card->pdev, desc->address, skb->len,
@@ -205,10 +204,9 @@ static inline void wanxl_rx_intr(card_t *card)
                        port_t *port = &card->ports[desc->stat &
                                                    PACKET_PORT_MASK];
                        struct net_device *dev = port->dev;
-                       struct net_device_stats *stats = hdlc_stats(dev);
 
                        if (!skb)
-                               stats->rx_dropped++;
+                               dev->stats.rx_dropped++;
                        else {
                                pci_unmap_single(card->pdev, desc->address,
                                                 BUFFER_LENGTH,
@@ -220,8 +218,8 @@ static inline void wanxl_rx_intr(card_t *card)
                                       skb->len);
                                debug_frame(skb);
 #endif
-                               stats->rx_packets++;
-                               stats->rx_bytes += skb->len;
+                               dev->stats.rx_packets++;
+                               dev->stats.rx_bytes += skb->len;
                                dev->last_rx = jiffies;
                                skb->protocol = hdlc_type_trans(skb, dev);
                                netif_rx(skb);
@@ -468,13 +466,13 @@ static int wanxl_close(struct net_device *dev)
 
 static struct net_device_stats *wanxl_get_stats(struct net_device *dev)
 {
-       struct net_device_stats *stats = hdlc_stats(dev);
        port_t *port = dev_to_port(dev);
 
-       stats->rx_over_errors = get_status(port)->rx_overruns;
-       stats->rx_frame_errors = get_status(port)->rx_frame_errors;
-       stats->rx_errors = stats->rx_over_errors + stats->rx_frame_errors;
-        return stats;
+       dev->stats.rx_over_errors = get_status(port)->rx_overruns;
+       dev->stats.rx_frame_errors = get_status(port)->rx_frame_errors;
+       dev->stats.rx_errors = dev->stats.rx_over_errors +
+               dev->stats.rx_frame_errors;
+       return &dev->stats;
 }