summaryrefslogtreecommitdiffstats
path: root/drivers/net/igb
diff options
context:
space:
mode:
authorAlexander Duyck <alexander.h.duyck@intel.com>2009-02-06 23:22:32 +0000
committerDavid S. Miller <davem@davemloft.net>2009-02-07 02:43:16 -0800
commit04fe63583d4648c0378a58afc0de89b640d822ef (patch)
treed76254747749a61db621d99bb4a5867289cc40b4 /drivers/net/igb
parent450c87c8d28aeaf83889389ceeb01457c1a6f3e9 (diff)
downloadkernel-crypto-04fe63583d4648c0378a58afc0de89b640d822ef.tar.gz
kernel-crypto-04fe63583d4648c0378a58afc0de89b640d822ef.tar.xz
kernel-crypto-04fe63583d4648c0378a58afc0de89b640d822ef.zip
igb: update stats before doing reset in igb_down
It was seen with repeated interface up/down testing that there was a large stray between the stats reported by the queues and the stats reported by the HW. It was found to be an issue in that hw stats were being reset without first being recorded. This change records the stats before wiping them from the system via the reset. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/igb')
-rw-r--r--drivers/net/igb/igb_main.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index 3b79ad8be53..88f135f4b27 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -858,6 +858,10 @@ void igb_down(struct igb_adapter *adapter)
netdev->tx_queue_len = adapter->tx_queue_len;
netif_carrier_off(netdev);
+
+ /* record the stats before reset*/
+ igb_update_stats(adapter);
+
adapter->link_speed = 0;
adapter->link_duplex = 0;