ixgbevf: Fix VF Stats accounting after reset
authorGreg Rose <gregory.v.rose@intel.com>
Fri, 19 Mar 2010 02:59:52 +0000 (02:59 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 20 Mar 2010 04:00:44 +0000 (21:00 -0700)
commit33bd9f601ea21c4389870e425ae4eaf210d49b95
tree067d6e6dc6de15b4dc56064ad31b67770e98a9fa
parentfd3686a842717b890fbe3024b83a616c54d5dba0
ixgbevf: Fix VF Stats accounting after reset

The counters in the 82599 Virtual Function are not clear on read.  They
accumulate to the maximum value and then roll over.  They are also not
cleared when the VF executes a soft reset, so it is possible they are
non-zero when the driver loads and starts.  This has all been accounted
for in the code that keeps the stats up to date but there is one case
that is not.  When the PF driver is reset the counters in the VF are
all reset to zero.  This adds an additional accounting overhead into
the VF driver when the PF is reset under its feet.  This patch adds
additional counters that are used by the VF driver to accumulate and
save stats after a PF reset has been detected.  Prior to this patch
displaying the stats in the VF after the PF has reset would show
bogus data.

Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ixgbevf/ethtool.c
drivers/net/ixgbevf/ixgbevf_main.c
drivers/net/ixgbevf/vf.h