diff options
author | Vladimir Oltean | 2022-06-29 21:30:07 +0300 |
---|---|---|
committer | Jakub Kicinski | 2022-06-30 11:37:09 -0700 |
commit | 58bf4db695287c4bb2a5fc9fc12c78fdd4c36894 (patch) | |
tree | e16726f5048fb876ce120bf627d7c07cb6d98ea1 /net | |
parent | 839b92fede7ba308f1a475aa00fea55f63b7fccf (diff) |
net: dsa: felix: fix race between reading PSFP stats and port stats
Both PSFP stats and the port stats read by ocelot_check_stats_work() are
indirectly read through the same mechanism - write to STAT_CFG:STAT_VIEW,
read from SYS:STAT:CNT[n].
It's just that for port stats, we write STAT_VIEW with the index of the
port, and for PSFP stats, we write STAT_VIEW with the filter index.
So if we allow them to run concurrently, ocelot_check_stats_work() may
change the view from vsc9959_psfp_counters_get(), and vice versa.
Fixes: 7d4b564d6add ("net: dsa: felix: support psfp filter on vsc9959")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://lore.kernel.org/r/20220629183007.3808130-1-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions