linux_dsm_epyc7002/drivers/net/ethernet/mellanox/mlx4
Eran Ben Elisha 5a1647c391 net/mlx4_en: Fill all counters under one call of stats lock
Before this patch, the stats_lock was acquired twice. In between the
locks Driver sent command to gather some more statistics (per priority
and counter statistics). If the stats lock was acquired by get
statistics NDO in between we would have report out of sync counters.

Fix this by collecting all stats from Firmware in advance and then
fill the Software structs under one lock.

Fixes: 0b131561a7 ("net/mlx4_en: Add Flow control statistics display via ethtool")
Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com>
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-12-13 16:38:37 -05:00
..
alloc.c mlx4: sizeof style usage 2017-08-16 11:01:57 -07:00
catas.c net/mlx4_core: Convert timers to use timer_setup() 2017-10-09 12:19:41 -04:00
cmd.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-09-06 14:45:08 -07:00
cq.c drivers, net, mlx4: convert mlx4_cq.refcount from atomic_t to refcount_t 2017-10-22 02:22:38 +01:00
en_clock.c net/mlx4_en: fix overflow in mlx4_en_init_timestamp() 2017-02-26 15:39:43 -05:00
en_cq.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-09-06 14:45:08 -07:00
en_dcb_nl.c net/mlx4_en: Do not allocate redundant TX queues when TC is disabled 2017-06-29 15:56:15 -04:00
en_ethtool.c net/mlx4_en: Limit the number of RX rings 2017-10-10 13:11:22 -07:00
en_main.c net/mlx4_en: Limit the number of TX rings 2017-10-10 13:11:22 -07:00
en_netdev.c net_sch: mqprio: Change TC_SETUP_MQPRIO to TC_SETUP_QDISC_MQPRIO 2017-11-08 12:23:38 +09:00
en_port.c net/mlx4_en: Fill all counters under one call of stats lock 2017-12-13 16:38:37 -05:00
en_port.h net/mlx4_en: Check the enabling pptx/pprx flags in SET_PORT wrapper flow 2017-01-30 15:26:43 -05:00
en_resources.c net/mlx4: Fix endianness issue in qp context params 2017-10-09 10:33:05 -07:00
en_rx.c Merge branch 'akpm' (patches from Andrew) 2017-11-15 19:42:40 -08:00
en_selftest.c net/mlx4_en: Fix selftest for small MTUs 2017-12-13 16:38:36 -05:00
en_tx.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-11-15 11:56:19 -08:00
eq.c net/mlx4_core: Fix misplaced brackets of sizeof 2017-08-29 14:58:32 -07:00
fw_qos.c net/mlx4: fix spelling mistake: "availible" -> "available" 2017-08-16 14:23:45 -07:00
fw_qos.h net/mlx4: fix spelling mistake: "availible" -> "available" 2017-08-16 14:23:45 -07:00
fw.c net/mlx4_core: Fix cast warning in fw.c 2017-10-09 10:33:05 -07:00
fw.h net/mlx4_core: Dynamically allocate structs at mlx4_slave_cap 2017-08-29 14:58:32 -07:00
icm.c mlx4: sizeof style usage 2017-08-16 11:01:57 -07:00
icm.h mlx4: sizeof style usage 2017-08-16 11:01:57 -07:00
intf.c mlx4: sizeof style usage 2017-08-16 11:01:57 -07:00
Kconfig net/mlx4: Use Kconfig flag to remove support of old gen2 Mellanox devices 2017-11-13 10:27:51 +09:00
main.c net/mlx4: Use Kconfig flag to remove support of old gen2 Mellanox devices 2017-11-13 10:27:51 +09:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mcg.c mlx4: sizeof style usage 2017-08-16 11:01:57 -07:00
mlx4_en.h net/mlx4_en: Fix selftest for small MTUs 2017-12-13 16:38:36 -05:00
mlx4_stats.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mlx4.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-09-06 14:45:08 -07:00
mr.c mlx4: sizeof style usage 2017-08-16 11:01:57 -07:00
pd.c io-mapping: Specify mapping size for io_mapping_map_wc() 2016-04-28 12:17:32 +01:00
port.c net/mlx4: Add user mac FW update support 2017-08-29 14:58:32 -07:00
profile.c net/mlx4_core: use swap() in mlx4_make_profile() 2015-06-11 15:19:41 -07:00
qp.c drivers, net, mlx4: convert mlx4_qp.refcount from atomic_t to refcount_t 2017-10-22 02:22:38 +01:00
reset.c net/mlx4_core: Maintain a persistent memory for mlx4 device 2015-01-25 14:43:13 -08:00
resource_tracker.c net/mlx4_core: Fix wrong calculation of free counters 2017-12-13 16:38:36 -05:00
sense.c
srq.c drivers, net, mlx4: convert mlx4_srq.refcount from atomic_t to refcount_t 2017-10-22 02:22:38 +01:00