Commit ad6f84b4 authored by Kulikov Vasiliy's avatar Kulikov Vasiliy Committed by David S. Miller

hp100: Use the instance of net_device_stats from net_device.

Since net_device has an instance of net_device_stats,
we can remove the instance of this from the adapter structure.
Signed-off-by: default avatarKulikov Vasiliy <segooon@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 86678a20
......@@ -168,7 +168,6 @@ struct hp100_private {
u_char mac1_mode;
u_char mac2_mode;
u_char hash_bytes[8];
struct net_device_stats stats;
/* Rings for busmaster mode: */
hp100_ring_t *rxrhead; /* Head (oldest) index into rxring */
......@@ -1582,8 +1581,8 @@ static netdev_tx_t hp100_start_xmit_bm(struct sk_buff *skb,
spin_unlock_irqrestore(&lp->lock, flags);
/* Update statistics */
lp->stats.tx_packets++;
lp->stats.tx_bytes += skb->len;
dev->stats.tx_packets++;
dev->stats.tx_bytes += skb->len;
return NETDEV_TX_OK;
......@@ -1740,8 +1739,8 @@ static netdev_tx_t hp100_start_xmit(struct sk_buff *skb,
hp100_outb(HP100_TX_CMD | HP100_SET_LB, OPTION_MSW); /* send packet */
lp->stats.tx_packets++;
lp->stats.tx_bytes += skb->len;
dev->stats.tx_packets++;
dev->stats.tx_bytes += skb->len;
hp100_ints_on();
spin_unlock_irqrestore(&lp->lock, flags);
......@@ -1822,7 +1821,7 @@ static void hp100_rx(struct net_device *dev)
printk("hp100: %s: rx: couldn't allocate a sk_buff of size %d\n",
dev->name, pkt_len);
#endif
lp->stats.rx_dropped++;
dev->stats.rx_dropped++;
} else { /* skb successfully allocated */
u_char *ptr;
......@@ -1848,8 +1847,8 @@ static void hp100_rx(struct net_device *dev)
ptr[9], ptr[10], ptr[11]);
#endif
netif_rx(skb);
lp->stats.rx_packets++;
lp->stats.rx_bytes += pkt_len;
dev->stats.rx_packets++;
dev->stats.rx_bytes += pkt_len;
}
/* Indicate the card that we have got the packet */
......@@ -1858,7 +1857,7 @@ static void hp100_rx(struct net_device *dev)
switch (header & 0x00070000) {
case (HP100_MULTI_ADDR_HASH << 16):
case (HP100_MULTI_ADDR_NO_HASH << 16):
lp->stats.multicast++;
dev->stats.multicast++;
break;
}
} /* end of while(there are packets) loop */
......@@ -1930,7 +1929,7 @@ static void hp100_rx_bm(struct net_device *dev)
if (ptr->skb == NULL) {
printk("hp100: %s: rx_bm: skb null\n", dev->name);
/* can happen if we only allocated room for the pdh due to memory shortage. */
lp->stats.rx_dropped++;
dev->stats.rx_dropped++;
} else {
skb_trim(ptr->skb, pkt_len); /* Shorten it */
ptr->skb->protocol =
......@@ -1938,14 +1937,14 @@ static void hp100_rx_bm(struct net_device *dev)
netif_rx(ptr->skb); /* Up and away... */
lp->stats.rx_packets++;
lp->stats.rx_bytes += pkt_len;
dev->stats.rx_packets++;
dev->stats.rx_bytes += pkt_len;
}
switch (header & 0x00070000) {
case (HP100_MULTI_ADDR_HASH << 16):
case (HP100_MULTI_ADDR_NO_HASH << 16):
lp->stats.multicast++;
dev->stats.multicast++;
break;
}
} else {
......@@ -1954,7 +1953,7 @@ static void hp100_rx_bm(struct net_device *dev)
#endif
if (ptr->skb != NULL)
dev_kfree_skb_any(ptr->skb);
lp->stats.rx_errors++;
dev->stats.rx_errors++;
}
lp->rxrhead = lp->rxrhead->next;
......@@ -1992,14 +1991,13 @@ static struct net_device_stats *hp100_get_stats(struct net_device *dev)
hp100_update_stats(dev);
hp100_ints_on();
spin_unlock_irqrestore(&lp->lock, flags);
return &(lp->stats);
return &(dev->stats);
}
static void hp100_update_stats(struct net_device *dev)
{
int ioaddr = dev->base_addr;
u_short val;
struct hp100_private *lp = netdev_priv(dev);
#ifdef HP100_DEBUG_B
hp100_outw(0x4216, TRACE);
......@@ -2009,14 +2007,14 @@ static void hp100_update_stats(struct net_device *dev)
/* Note: Statistics counters clear when read. */
hp100_page(MAC_CTRL);
val = hp100_inw(DROPPED) & 0x0fff;
lp->stats.rx_errors += val;
lp->stats.rx_over_errors += val;
dev->stats.rx_errors += val;
dev->stats.rx_over_errors += val;
val = hp100_inb(CRC);
lp->stats.rx_errors += val;
lp->stats.rx_crc_errors += val;
dev->stats.rx_errors += val;
dev->stats.rx_crc_errors += val;
val = hp100_inb(ABORT);
lp->stats.tx_errors += val;
lp->stats.tx_aborted_errors += val;
dev->stats.tx_errors += val;
dev->stats.tx_aborted_errors += val;
hp100_page(PERFORMANCE);
}
......@@ -2025,7 +2023,6 @@ static void hp100_misc_interrupt(struct net_device *dev)
#ifdef HP100_DEBUG_B
int ioaddr = dev->base_addr;
#endif
struct hp100_private *lp = netdev_priv(dev);
#ifdef HP100_DEBUG_B
int ioaddr = dev->base_addr;
......@@ -2034,8 +2031,8 @@ static void hp100_misc_interrupt(struct net_device *dev)
#endif
/* Note: Statistics counters clear when read. */
lp->stats.rx_errors++;
lp->stats.tx_errors++;
dev->stats.rx_errors++;
dev->stats.tx_errors++;
}
static void hp100_clear_stats(struct hp100_private *lp, int ioaddr)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment