immortalwrt/target
DENG Qingfang a5b9ff72cf 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>
2021-04-15 23:18:31 +08:00
..
imagebuilder build,ib: add STRIP_ABI option for manifest 2021-03-17 11:29:19 +08:00
linux ramips: mt7530 swconfig: fix race condition in register access 2021-04-15 23:18:31 +08:00
sdk sdk: expose binary strip settings 2021-02-20 12:32:48 +08:00
toolchain build: improve ccache support 2021-01-02 12:08:17 +08:00
Config.in build: define PWM_SUPPORT arch feature flag 2020-09-26 11:34:00 +08:00
Makefile update target 2019-08-19 22:26:19 +08:00