linux/drivers/net
Jacob Keller 9d73edee59 fm10k: prevent multiple threads updating statistics
Also prevent updating stats while the interface is down. If we're
already updating stats, just return doing nothing. When we take the
device down, block stat updates until we come back up. This ensures that
we avoid tearing down rings when we're updating statistics, and prevents
updating statistics until we're up.

We can't re-use the __FM10K_DOWN for this because it wouldn't prevent
multiple threads from accessing statistics. Neither does it prevent the
case where we start updating stats and then start going down in another
thread.

The fm10k_get_stats64 is except from this, because it has a completely
different flow which does not suffer from the same issues as
fm10k_update_stats might.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Krishneil Singh <Krishneil.k.singh@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2016-07-20 15:22:10 -07:00
..
appletalk treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
arcnet
bonding Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-07-06 10:35:22 -07:00
caif
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-06-30 05:03:36 -04:00
cris treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
dsa net: dsa: mv88e6xxx: add support for DSA ageing time 2016-07-19 19:42:02 -07:00
ethernet fm10k: prevent multiple threads updating statistics 2016-07-20 15:22:10 -07:00
fddi net: skfb: remove obsolete -I cflag 2016-06-15 22:06:06 -07:00
fjes net: fjes: fjes_main: Remove create_workqueue 2016-06-03 19:29:42 -04:00
hamradio hamradio: baycom: fix old-style declaration 2016-06-16 22:06:30 -07:00
hippi
hyperv netvsc: Use the new in-place consumption APIs in the rx path 2016-07-08 23:11:20 -04:00
ieee802154 mrf24j40: avoid uninitialized byte in SPI transfer to radio. 2016-07-12 11:54:53 +02:00
ipvlan net: ipvlan: call netdev_lockdep_set_classes() 2016-06-09 13:28:37 -07:00
irda net: irda: avoid null pointer dereference 2016-05-19 11:30:57 -07:00
phy Marvell phy: add functions to suspend and resume both interfaces: fiber and copper links. 2016-07-19 16:05:56 -07:00
plip
ppp net: add netdev_lockdep_set_classes() helper 2016-06-09 13:28:37 -07:00
slip treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
team net: introduce default neigh_construct/destroy ndo calls for L2 upper devices 2016-07-05 09:06:28 -07:00
usb net: usb: ax88172x: use phy_ethtool_{get|set}_link_ksettings 2016-07-16 21:54:40 -07:00
vmxnet3 vmxnet3: update to version 3 2016-06-16 22:37:05 -07:00
wan wan/fsl_ucc_hdlc: use module_platform_driver to simplify the code 2016-07-20 14:46:00 -07:00
wimax treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
wireless wireless-drivers-next patches for 4.8 2016-07-14 16:32:27 -07:00
xen-netback xen-netback: only deinitialized hash if it was initialized 2016-05-20 17:41:18 -04:00
dummy.c
eql.c
geneve.c drivers/net: fixup comments after "Future-proof tunnel offload handlers" 2016-07-11 13:42:11 -07:00
gtp.c gtp: remove unused including <linux/version.h> 2016-06-17 22:28:49 -07:00
ifb.c ifb: support more features 2016-05-09 00:00:28 -04:00
Kconfig gtp: add initial driver for datapath of GPRS Tunneling Protocol (GTP-U) 2016-05-10 12:25:04 -04:00
LICENSE.SRC
loopback.c loopback: make use of NETIF_F_GSO_SOFTWARE 2016-06-03 19:37:21 -04:00
macsec.c macsec: set actual real device for xmit when !protect_frames 2016-07-01 16:35:56 -04:00
macvlan.c net: macvlan: call netdev_lockdep_set_classes() 2016-06-09 13:28:37 -07:00
macvtap.c macvtap: correctly free skb during socket destruction 2016-07-18 22:11:22 -07:00
Makefile gtp: add initial driver for datapath of GPRS Tunneling Protocol (GTP-U) 2016-05-10 12:25:04 -04:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c net: Fix coding style warnings and errors. 2016-05-19 11:48:27 -07:00
sungem_phy.c
tun.c tun: Don't assume type tun in tun_device_event 2016-07-08 23:58:57 -04:00
veth.c
virtio_net.c virtio-net: Remove more stack DMA 2016-07-19 19:25:43 -07:00
vrf.c net: vrf: Add support for PREROUTING rules on vrf device 2016-07-05 11:50:05 -07:00
vxlan.c drivers/net: fixup comments after "Future-proof tunnel offload handlers" 2016-07-11 13:42:11 -07:00
xen-netfront.c