ramips: nuke net_device stats from the private data of the ethernet driver

SVN-Revision: 18147
This commit is contained in:
Gabor Juhos 2009-10-25 09:37:30 +00:00
parent ec836476b0
commit 984fe7992a
2 changed files with 6 additions and 16 deletions

View file

@ -209,7 +209,6 @@ struct raeth_priv
struct sk_buff *tx_skb[NUM_RX_DESC]; struct sk_buff *tx_skb[NUM_RX_DESC];
unsigned int skb_free_idx; unsigned int skb_free_idx;
struct net_device_stats stat;
struct ramips_eth_platform_data *plat; struct ramips_eth_platform_data *plat;
}; };

View file

@ -136,7 +136,7 @@ ramips_eth_hard_start_xmit(struct sk_buff* skb, struct net_device *dev)
if(!(priv->tx[tx].txd2 & TX_DMA_DONE)) if(!(priv->tx[tx].txd2 & TX_DMA_DONE))
{ {
kfree_skb(skb); kfree_skb(skb);
priv->stat.tx_dropped++; dev->stats.tx_dropped++;
printk(KERN_ERR "%s: dropping\n", dev->name); printk(KERN_ERR "%s: dropping\n", dev->name);
return 0; return 0;
} }
@ -144,12 +144,12 @@ ramips_eth_hard_start_xmit(struct sk_buff* skb, struct net_device *dev)
priv->tx[tx].txd2 &= ~(TX_DMA_PLEN0_MASK | TX_DMA_DONE); priv->tx[tx].txd2 &= ~(TX_DMA_PLEN0_MASK | TX_DMA_DONE);
priv->tx[tx].txd2 |= TX_DMA_PLEN0(skb->len); priv->tx[tx].txd2 |= TX_DMA_PLEN0(skb->len);
ramips_fe_wr((tx + 1) % NUM_TX_DESC, RAMIPS_TX_CTX_IDX0); ramips_fe_wr((tx + 1) % NUM_TX_DESC, RAMIPS_TX_CTX_IDX0);
priv->stat.tx_packets++; dev->stats.tx_packets++;
priv->stat.tx_bytes += skb->len; dev->stats.tx_bytes += skb->len;
priv->tx_skb[tx] = skb; priv->tx_skb[tx] = skb;
ramips_fe_wr((tx + 1) % NUM_TX_DESC, RAMIPS_TX_CTX_IDX0); ramips_fe_wr((tx + 1) % NUM_TX_DESC, RAMIPS_TX_CTX_IDX0);
} else { } else {
priv->stat.tx_dropped++; dev->stats.tx_dropped++;
kfree_skb(skb); kfree_skb(skb);
} }
return 0; return 0;
@ -178,8 +178,8 @@ ramips_eth_rx_hw(unsigned long ptr)
rx_skb->dev = dev; rx_skb->dev = dev;
rx_skb->protocol = eth_type_trans(rx_skb, dev); rx_skb->protocol = eth_type_trans(rx_skb, dev);
rx_skb->ip_summed = CHECKSUM_NONE; rx_skb->ip_summed = CHECKSUM_NONE;
priv->stat.rx_packets++; dev->stats.rx_packets++;
priv->stat.rx_bytes += rx_skb->len; dev->stats.rx_bytes += rx_skb->len;
netif_rx(rx_skb); netif_rx(rx_skb);
new_skb = __dev_alloc_skb(MAX_RX_LENGTH + 2, GFP_DMA | GFP_ATOMIC); new_skb = __dev_alloc_skb(MAX_RX_LENGTH + 2, GFP_DMA | GFP_ATOMIC);
@ -220,14 +220,6 @@ ramips_eth_tx_housekeeping(unsigned long ptr)
RAMIPS_FE_INT_ENABLE); RAMIPS_FE_INT_ENABLE);
} }
static struct net_device_stats*
ramips_eth_get_stats(struct net_device *dev)
{
struct raeth_priv *priv = netdev_priv(dev);
return &priv->stat;
}
static int static int
ramips_eth_set_mac_addr(struct net_device *dev, void *priv) ramips_eth_set_mac_addr(struct net_device *dev, void *priv)
{ {
@ -336,7 +328,6 @@ ramips_eth_probe(struct net_device *dev)
dev->open = ramips_eth_open; dev->open = ramips_eth_open;
dev->stop = ramips_eth_stop; dev->stop = ramips_eth_stop;
dev->hard_start_xmit = ramips_eth_hard_start_xmit; dev->hard_start_xmit = ramips_eth_hard_start_xmit;
dev->get_stats = ramips_eth_get_stats;
dev->set_mac_address = ramips_eth_set_mac_addr; dev->set_mac_address = ramips_eth_set_mac_addr;
dev->mtu = MAX_RX_LENGTH; dev->mtu = MAX_RX_LENGTH;
dev->tx_timeout = ramips_eth_timeout; dev->tx_timeout = ramips_eth_timeout;