immortalwrt/target/linux/ramips
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
..
base-files ramips: sync source code (#3260) 2020-02-22 12:39:52 +08:00
dts ramips: mark toggle input on EX6150 as a switch 2021-02-18 13:07:27 +08:00
files-4.14/drivers ramips: mt7530 swconfig: fix race condition in register access 2021-04-15 23:18:31 +08:00
image treewide: provide global default for SUPPORTED_DEVICES 2021-01-29 22:47:58 +08:00
mt76x8 ramips: add xiaomi_miwifi-r3 support (#3839) 2020-03-17 01:39:45 +08:00
mt7620 kernel: bump to 4.9.223, 4.14.180, 4.19.122 (#4600) 2020-05-13 13:28:43 +08:00
mt7621 ramips: add support for JCG Y2 2020-12-18 20:24:12 +08:00
patches-4.14 kernel: bump to 4.9.262, 4.14.227, 4.19.183 2021-03-27 01:15:23 +08:00
rt288x ramips: mt7621: add support for Netgear R6800 2019-12-13 08:25:54 -08:00
rt305x ramips: add xiaomi_miwifi-r3 support (#3839) 2020-03-17 01:39:45 +08:00
rt3883 ramips: sync upstream source code 2020-04-10 16:18:43 +08:00
Makefile target: sync with OpenWrt 19.07-rc2 2019-12-07 20:13:33 -08:00
modules.mk ramips: update mt7530 switch settings 2020-03-17 02:03:47 +08:00