diff options
Diffstat (limited to 'target/linux/atheros/files/drivers/net/ar2313')
| -rw-r--r-- | target/linux/atheros/files/drivers/net/ar2313/ar2313.c | 48 | ||||
| -rw-r--r-- | target/linux/atheros/files/drivers/net/ar2313/ar2313.h | 2 | 
2 files changed, 20 insertions, 30 deletions
diff --git a/target/linux/atheros/files/drivers/net/ar2313/ar2313.c b/target/linux/atheros/files/drivers/net/ar2313/ar2313.c index fb1efa19c..c82c9f035 100644 --- a/target/linux/atheros/files/drivers/net/ar2313/ar2313.c +++ b/target/linux/atheros/files/drivers/net/ar2313/ar2313.c @@ -211,7 +211,6 @@ int __init ar2313_probe(struct platform_device *pdev)  	dev->stop = &ar2313_close;  	dev->hard_start_xmit = &ar2313_start_xmit; -	dev->get_stats = &ar2313_get_stats;  	dev->set_multicast_list = &ar2313_multicast_list;  #ifdef TX_TIMEOUT  	dev->tx_timeout = ar2313_tx_timeout; @@ -781,7 +780,7 @@ static int ar2313_init(struct net_device *dev)  	/*  	 * Zero the stats before starting the interface  	 */ -	memset(&sp->stats, 0, sizeof(sp->stats)); +	memset(&dev->stats, 0, sizeof(dev->stats));  	/*  	 * We load the ring here as there seem to be no way to tell the @@ -928,20 +927,20 @@ static int ar2313_rx_int(struct net_device *dev)  #if DEBUG_RX  			printk("%s: rx ERROR %08x\n", __FUNCTION__, status);  #endif -			sp->stats.rx_errors++; -			sp->stats.rx_dropped++; +			dev->stats.rx_errors++; +			dev->stats.rx_dropped++;  			/* add statistics counters */  			if (status & DMA_RX_ERR_CRC) -				sp->stats.rx_crc_errors++; +				dev->stats.rx_crc_errors++;  			if (status & DMA_RX_ERR_COL) -				sp->stats.rx_over_errors++; +				dev->stats.rx_over_errors++;  			if (status & DMA_RX_ERR_LENGTH) -				sp->stats.rx_length_errors++; +				dev->stats.rx_length_errors++;  			if (status & DMA_RX_ERR_RUNT) -				sp->stats.rx_over_errors++; +				dev->stats.rx_over_errors++;  			if (status & DMA_RX_ERR_DESC) -				sp->stats.rx_over_errors++; +				dev->stats.rx_over_errors++;  		} else {  			/* alloc new buffer. */ @@ -953,7 +952,7 @@ static int ar2313_rx_int(struct net_device *dev)  				skb_put(skb,  						((status >> DMA_RX_LEN_SHIFT) & 0x3fff) - CRC_LEN); -				sp->stats.rx_bytes += skb->len; +				dev->stats.rx_bytes += skb->len;  				skb->protocol = eth_type_trans(skb, dev);  				/* pass the packet to upper layers */  				netif_rx(skb); @@ -964,10 +963,10 @@ static int ar2313_rx_int(struct net_device *dev)  				/* reset descriptor's curr_addr */  				rxdesc->addr = virt_to_phys(skb_new->data); -				sp->stats.rx_packets++; +				dev->stats.rx_packets++;  				sp->rx_skb[idx] = skb_new;  			} else { -				sp->stats.rx_dropped++; +				dev->stats.rx_dropped++;  			}  		} @@ -1016,27 +1015,27 @@ static void ar2313_tx_int(struct net_device *dev)  		txdesc->status = 0;  		if (status & DMA_TX_ERROR) { -			sp->stats.tx_errors++; -			sp->stats.tx_dropped++; +			dev->stats.tx_errors++; +			dev->stats.tx_dropped++;  			if (status & DMA_TX_ERR_UNDER) -				sp->stats.tx_fifo_errors++; +				dev->stats.tx_fifo_errors++;  			if (status & DMA_TX_ERR_HB) -				sp->stats.tx_heartbeat_errors++; +				dev->stats.tx_heartbeat_errors++;  			if (status & (DMA_TX_ERR_LOSS | DMA_TX_ERR_LINK)) -				sp->stats.tx_carrier_errors++; +				dev->stats.tx_carrier_errors++;  			if (status & (DMA_TX_ERR_LATE |  						  DMA_TX_ERR_COL |  						  DMA_TX_ERR_JABBER | DMA_TX_ERR_DEFER)) -				sp->stats.tx_aborted_errors++; +				dev->stats.tx_aborted_errors++;  		} else {  			/* transmit OK */ -			sp->stats.tx_packets++; +			dev->stats.tx_packets++;  		}  		skb = sp->tx_skb[idx];  		sp->tx_skb[idx] = NULL;  		idx = DSC_NEXT(idx); -		sp->stats.tx_bytes += skb->len; +		dev->stats.tx_bytes += skb->len;  		dev_kfree_skb_irq(skb);  	} @@ -1214,7 +1213,7 @@ static int ar2313_start_xmit(struct sk_buff *skb, struct net_device *dev)  		printk("%s: No space left to Tx\n", __FUNCTION__);  #endif  		/* free skbuf and lie to the caller that we sent it out */ -		sp->stats.tx_dropped++; +		dev->stats.tx_dropped++;  		dev_kfree_skb(skb);  		/* restart transmitter in case locked */ @@ -1284,13 +1283,6 @@ static int ar2313_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)  	return -EOPNOTSUPP;  } -static struct net_device_stats *ar2313_get_stats(struct net_device *dev) -{ -	struct ar2313_private *sp = dev->priv; -	return &sp->stats; -} - -  static void ar2313_adjust_link(struct net_device *dev)  {  	struct ar2313_private *sp = dev->priv; diff --git a/target/linux/atheros/files/drivers/net/ar2313/ar2313.h b/target/linux/atheros/files/drivers/net/ar2313/ar2313.h index d4299addc..9fa49caa7 100644 --- a/target/linux/atheros/files/drivers/net/ar2313/ar2313.h +++ b/target/linux/atheros/files/drivers/net/ar2313/ar2313.h @@ -145,7 +145,6 @@ struct ar2313_private {  	 */  	int board_idx;  	char name[48]; -	struct net_device_stats stats;  	struct {  		u32 address;  		u32 length; @@ -193,5 +192,4 @@ static void ar2313_init_cleanup(struct net_device *dev);  static int ar2313_setup_timer(struct net_device *dev);  static void ar2313_link_timer_fn(unsigned long data);  static void ar2313_check_link(struct net_device *dev); -static struct net_device_stats *ar2313_get_stats(struct net_device *dev);  #endif							/* _AR2313_H_ */  | 
