diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2009-01-29 19:00:07 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-30 23:06:33 +0100 |
commit | 1974cc205e63cec4a17a6b3fca31fa4240ded77e (patch) | |
tree | d658cbc56064d86f3f57e786b4ebcf33346188bd /drivers/net/sfc/net_driver.h | |
parent | sfc: SFX7101/SFT9001: Fix AN advertisements (diff) | |
download | linux-1974cc205e63cec4a17a6b3fca31fa4240ded77e.tar.xz linux-1974cc205e63cec4a17a6b3fca31fa4240ded77e.zip |
sfc: Replace stats_enabled flag with a disable count
Currently we use a spin-lock to serialise statistics fetches and also
to inhibit them for short periods of time, plus a flag to
enable/disable statistics fetches for longer periods of time, during
online reset. This was apparently insufficient to deal with the several
reasons for stats being disabled.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/net_driver.h')
-rw-r--r-- | drivers/net/sfc/net_driver.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/sfc/net_driver.h b/drivers/net/sfc/net_driver.h index 8eb411a1c82e..e019ad1fb9a0 100644 --- a/drivers/net/sfc/net_driver.h +++ b/drivers/net/sfc/net_driver.h @@ -754,8 +754,7 @@ union efx_multicast_hash { * &struct net_device_stats. * @stats_buffer: DMA buffer for statistics * @stats_lock: Statistics update lock. Serialises statistics fetches - * @stats_enabled: Temporarily disable statistics fetches. - * Serialised by @stats_lock + * @stats_disable_count: Nest count for disabling statistics fetches * @mac_op: MAC interface * @mac_address: Permanent MAC address * @phy_type: PHY type @@ -837,7 +836,7 @@ struct efx_nic { struct efx_mac_stats mac_stats; struct efx_buffer stats_buffer; spinlock_t stats_lock; - bool stats_enabled; + unsigned int stats_disable_count; struct efx_mac_operations *mac_op; unsigned char mac_address[ETH_ALEN]; |