6pack: use netstats in net_device structure
Subsystems (2)
PATCH 1/1 6pack: use netstats in net_device structure
Use net_device_stats from net_device structure instead of local. Kill sp_get_stats function, because by default it is used identical internal_stats function from net/core/dev.c
Signed-off-by Paulius Zaleckas <[email protected]>
drivers/net/hamradio/6pack.c +7 -17
@@ -99,9 +99,6 @@ struct sixpack {unsigned int rx_count;unsigned int rx_count_cooked; -/* 6pack interface statistics. */ -struct net_device_stats stats; -int mtu;/* Our mtu (to spot changes!) */ int buffsize;/* Max buffers sizes */
@@ -237,7 +234,7 @@ static void sp_encaps(struct sixpack *sp, unsigned char *icp, int len)return ; out_drop: - sp->stats.tx_dropped++; + sp->dev->stats.tx_dropped++;netif_start_queue (sp->dev);if (net_ratelimit ())printk (KERN_DEBUG "%s: %s - dropped.\n" , sp->dev->name, msg);
@@ -252,7 +249,7 @@ static int sp_xmit(struct sk_buff *skb, struct net_device *dev)spin_lock_bh (&sp->lock);/* We were not busy, so we are now... :-) */ netif_stop_queue (dev); - sp->stats.tx_bytes += skb->len; + dev->stats.tx_bytes += skb->len;sp_encaps (sp, skb->data, skb->len);spin_unlock_bh (&sp->lock);
@@ -298,12 +295,6 @@ static int sp_header(struct sk_buff *skb, struct net_device *dev,return 0 ; } -static struct net_device_stats *sp_get_stats (struct net_device *dev) -{ -struct sixpack *sp =netdev_priv (dev); -return &sp->stats; -} -static int sp_set_mac_address (struct net_device *dev,void *addr) {struct sockaddr_ax25 *sa = addr;
@@ -338,7 +329,6 @@ static void sp_setup(struct net_device *dev) dev->destructor = free_netdev; dev->stop = sp_close; - dev->get_stats = sp_get_stats; dev->set_mac_address = sp_set_mac_address; dev->hard_header_len =AX25_MAX_HEADER_LEN ; dev->header_ops = &sp_header_ops;
@@ -370,7 +360,7 @@ static void sp_bump(struct sixpack *sp, char cmd) count = sp->rcount +1 ; - sp->stats.rx_bytes += count; + sp->dev->stats.rx_bytes += count;if ((skb =dev_alloc_skb (count)) ==NULL ) goto out_mem;
@@ -382,12 +372,12 @@ static void sp_bump(struct sixpack *sp, char cmd) skb->protocol =ax25_type_trans (skb, sp->dev);netif_rx (skb); sp->dev->last_rx = jiffies; - sp->stats.rx_packets++; + sp->dev->stats.rx_packets++;return ; out_mem: - sp->stats.rx_dropped++; + sp->dev->stats.rx_dropped++; }
@@ -436,7 +426,7 @@ static void sixpack_write_wakeup(struct tty_struct *tty)if (sp->xleft <=0 ) {/* Now serial buffer is almost free & we can start * transmission of another packet */ - sp->stats.tx_packets++; + sp->dev->stats.tx_packets++;clear_bit (TTY_DO_WRITE_WAKEUP , &tty->flags); sp->tx_enable =0 ;netif_wake_queue (sp->dev);
@@ -484,7 +474,7 @@ static void sixpack_receive_buf(struct tty_struct *tty, count--;if (fp && *fp++) {if (!test_and_set_bit (SIXPF_ERROR , &sp->flags)) - sp->stats.rx_errors++; + sp->dev->stats.rx_errors++;continue ; } }