acenic: use netstats in net_device structure
Subsystems (2)
PATCH 1/1 acenic: use netstats in net_device structure
Use net_device_stats from net_device structure instead of local. No need to memset it to 0, because it is allocated by kzalloc.
Signed-off-by Paulius Zaleckas <[email protected]>
drivers/net/acenic.c +8 -13
@@ -1457,11 +1457,6 @@ static int __devinit ace_init(struct net_device *dev)ace_set_txprd (regs, ap,0 );writel (0 , ®s->RxRetCsm); -/* -* Zero the stats before starting the interface -*/ -memset (&ap->stats,0 ,sizeof (ap->stats)); -/* * Enable DMA engine now. * If we do this sooner, Mckinley box pukes.
@@ -2041,8 +2036,8 @@ static void ace_rx_int(struct net_device *dev, u32 rxretprd, u32 rxretcsm)netif_rx (skb); dev->last_rx = jiffies; - ap->stats.rx_packets++; - ap->stats.rx_bytes += retdesc->size; + dev->stats.rx_packets++; + dev->stats.rx_bytes += retdesc->size; idx = (idx +1 ) %RX_RETURN_RING_ENTRIES ; }
@@ -2090,8 +2085,8 @@ static inline void ace_tx_int(struct net_device *dev, }if (skb) { - ap->stats.tx_packets++; - ap->stats.tx_bytes += skb->len; + dev->stats.tx_packets++; + dev->stats.tx_bytes += skb->len;dev_kfree_skb_irq (skb); info->skb =NULL ; }
@@ -2863,11 +2858,11 @@ static struct net_device_stats *ace_get_stats(struct net_device *dev)struct ace_mac_stats __iomem *mac_stats = (struct ace_mac_stats __iomem *)ap->regs->Stats; - ap->stats.rx_missed_errors =readl (&mac_stats->drop_space); - ap->stats.multicast =readl (&mac_stats->kept_mc); - ap->stats.collisions =readl (&mac_stats->coll); + dev->stats.rx_missed_errors =readl (&mac_stats->drop_space); + dev->stats.multicast =readl (&mac_stats->kept_mc); + dev->stats.collisions =readl (&mac_stats->coll); -return &ap->stats; +return &dev->stats; }
drivers/net/acenic.h +0 -1
@@ -693,7 +693,6 @@ struct ace_private __attribute__ ((aligned (SMP_CACHE_BYTES)));u32 last_tx, last_std_rx, last_mini_rx;#endif -struct net_device_stats stats;int pci_using_dac; };