ramips: nuke net_device stats from the private data of the ethernet driver
SVN-Revision: 18147
This commit is contained in:
parent
ec836476b0
commit
984fe7992a
2 changed files with 6 additions and 16 deletions
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue