aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services
diff options
context:
space:
mode:
authorDENG Qingfang <dqfext@gmail.com>2021-04-03 22:59:15 +0800
committerHauke Mehrtens <hauke@hauke-m.de>2021-04-18 12:05:04 +0200
commit6552f31acdb14bca5e6b51c82ef63fd08d3b7a9f (patch)
treef6c758107d56ddd283499d38c8cb83829cec6055 /package/network/services
parentcc6ad94fb920a5577239d60d42d8f1ec8d9b668c (diff)
downloadupstream-6552f31acdb14bca5e6b51c82ef63fd08d3b7a9f.tar.gz
upstream-6552f31acdb14bca5e6b51c82ef63fd08d3b7a9f.tar.bz2
upstream-6552f31acdb14bca5e6b51c82ef63fd08d3b7a9f.zip
ramips: mt7530 swconfig: fix race condition in register access
The mt7530_{r,w}32 operation over MDIO uses 3 mdiobus operations and does not hold a lock, which causes a race condition when multiple threads try to access a register, they may get unexpected results. To avoid this, handle the MDIO lock manually, and use the unlocked __mdiobus_{read,write} in the critical section. This fixes the "Ghost VLAN" artifact[1] in MT7530/7621 when the VLAN operation and the swconfig LED link status poll race between each other. [1] https://forum.openwrt.org/t/mysterious-vlan-ids-on-mt7621-device/64495 Signed-off-by: DENG Qingfang <dqfext@gmail.com> (cherry picked from commit f99c9cd9c4d4c49a676d678327546fd41690fe2a)
Diffstat (limited to 'package/network/services')
0 files changed, 0 insertions, 0 deletions