From 77a1016ac0ff32ee363bc46614909fb41e304b07 Mon Sep 17 00:00:00 2001 From: "shemminger@linux-foundation.org" Date: Fri, 26 Jan 2007 11:38:39 -0800 Subject: [PATCH] --- yaml --- r: 46555 b: refs/heads/master c: 2bf56fe25cef2a7652f7b2ab37ac14a336c76c75 h: refs/heads/master i: 46553: 83357a8b9dd94882df6bff32e9fffdfca3d40dcd 46551: 5edc0b576099cae6b1a777532edd1e7dc7fc6318 v: v3 --- [refs] | 2 +- trunk/drivers/net/sky2.c | 21 +++++---------------- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/[refs] b/[refs] index f11856ea6f4b..5d9685122522 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 285e6ddd013bafa6278a0e4b76a25a075be74e14 +refs/heads/master: 2bf56fe25cef2a7652f7b2ab37ac14a336c76c75 diff --git a/trunk/drivers/net/sky2.c b/trunk/drivers/net/sky2.c index 2a288070d566..947439167493 100644 --- a/trunk/drivers/net/sky2.c +++ b/trunk/drivers/net/sky2.c @@ -1443,6 +1443,9 @@ static void sky2_tx_complete(struct sky2_port *sky2, u16 done) if (unlikely(netif_msg_tx_done(sky2))) printk(KERN_DEBUG "%s: tx done %u\n", dev->name, idx); + sky2->net_stats.tx_packets++; + sky2->net_stats.tx_bytes += re->skb->len; + dev_kfree_skb_any(re->skb); } @@ -2065,6 +2068,8 @@ static int sky2_status_intr(struct sky2_hw *hw, int to_do) goto force_update; skb->protocol = eth_type_trans(skb, dev); + sky2->net_stats.rx_packets++; + sky2->net_stats.rx_bytes += skb->len; dev->last_rx = jiffies; #ifdef SKY2_VLAN_TAG_USED @@ -2790,25 +2795,9 @@ static void sky2_get_strings(struct net_device *dev, u32 stringset, u8 * data) } } -/* Use hardware MIB variables for critical path statistics and - * transmit feedback not reported at interrupt. - * Other errors are accounted for in interrupt handler. - */ static struct net_device_stats *sky2_get_stats(struct net_device *dev) { struct sky2_port *sky2 = netdev_priv(dev); - u64 data[13]; - - sky2_phy_stats(sky2, data, ARRAY_SIZE(data)); - - sky2->net_stats.tx_bytes = data[0]; - sky2->net_stats.rx_bytes = data[1]; - sky2->net_stats.tx_packets = data[2] + data[4] + data[6]; - sky2->net_stats.rx_packets = data[3] + data[5] + data[7]; - sky2->net_stats.multicast = data[3] + data[5]; - sky2->net_stats.collisions = data[10]; - sky2->net_stats.tx_aborted_errors = data[12]; - return &sky2->net_stats; }