openwrt/target/linux
DENG Qingfang 718e97c5c8 ramips: mt7530 swconfig: fix race condition in register access
[ Upstream commit f99c9cd9c4 ]

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 f99c9cd9c4)
2021-05-02 14:43:09 +02:00
..
apm821xx kernel: bump 4.14 to 4.14.227 2021-04-09 15:43:38 +02:00
ar71xx kernel: bump 4.14 to 4.14.223 2021-03-10 13:55:56 +01:00
arc770 treewide: use wpad-basic for not small flash targets 2018-10-16 15:07:41 +01:00
archs38 treewide: use wpad-basic for not small flash targets 2018-10-16 15:07:41 +01:00
armvirt armvirt,x86: fix build breakage of crypto ccp module 2020-07-05 13:33:31 +02:00
at91 at91: disable legacy PTYs and virtual terminals 2019-12-17 11:27:20 +02:00
ath25 kernel: bump 4.14 to 4.14.214 2021-01-12 23:55:26 +01:00
ath79 kernel: bump 4.14 to 4.14.223 2021-03-10 13:55:56 +01:00
bcm53xx kernel: bump 4.14 to 4.14.214 2021-01-12 23:55:26 +01:00
brcm47xx kernel: bump 4.14 to 4.14.214 2021-01-12 23:55:26 +01:00
brcm63xx bcm63xx: sprom: override the PCI device ID 2021-02-07 19:08:08 +01:00
brcm2708 kernel: bump 4.14 to 4.14.222 2021-02-26 10:11:21 +01:00
cns3xxx kernel: bump 4.14 to 4.14.212 2020-12-16 22:23:52 +01:00
gemini kernel: bump 4.14 to 4.14.156 2019-11-29 10:00:35 +01:00
generic kernel: bump 4.14 to 4.14.231 2021-04-30 10:56:39 +02:00
imx6 treewide: remove 4.19 leftovers 2019-10-08 12:45:13 +02:00
ipq40xx kernel: bump 4.14 to 4.14.227 2021-04-09 15:43:38 +02:00
ipq806x kernel: bump 4.14 to 4.14.214 2021-01-12 23:55:26 +01:00
kirkwood kirkwood: support for button in Pogoplug V4 2020-07-10 13:55:54 +02:00
lantiq lantiq: fritz7320: enable USB power supply 2021-02-18 00:21:30 +01:00
layerscape kernel: bump 4.14 to 4.14.230 2021-04-30 10:56:39 +02:00
malta malta: remove CONFIG_LEGACY_PTY from kernel config 2019-12-17 11:27:30 +02:00
mediatek kernel: bump 4.14 to 4.14.229 2021-04-09 15:43:38 +02:00
mpc85xx kernel: bump 4.14 to 4.14.206 2020-11-16 09:35:05 +01:00
mvebu kernel: bump 4.14 to 4.14.227 2021-04-09 15:43:38 +02:00
mxs kernel: bump 4.14 to 4.14.178 2020-05-04 21:05:21 +02:00
octeon kernel: bump 4.14 to 4.14.206 2020-11-16 09:35:05 +01:00
octeontx kernel: bump 4.14 to 4.14.176 2020-04-16 13:23:52 +02:00
omap treewide: use new procd sysupgrade $UPGRADE_BACKUP variable 2019-09-12 13:27:29 +02:00
oxnas kernel: bump 4.14 to 4.14.206 2020-11-16 09:35:05 +01:00
pistachio kernel: backport GD25Q256 support from 4.15 2020-12-01 21:59:30 +01:00
ramips ramips: mt7530 swconfig: fix race condition in register access 2021-05-02 14:43:09 +02:00
rb532 kernel: bump 4.14 to 4.14.206 2020-11-16 09:35:05 +01:00
samsung kernel: bump 4.14 to 4.14.227 2021-04-09 15:43:38 +02:00
sunxi kernel: bump 4.14 to 4.14.228 2021-04-09 15:43:38 +02:00
tegra tegra: correct cpu subtype 2020-04-18 00:18:13 +02:00
uml kernel: bump 4.14 to 4.14.201 2020-10-14 17:18:54 +02:00
x86 kernel: bump 4.14 to 4.14.224 2021-03-10 13:55:56 +01:00
zynq zynq: make title consistent for all devices 2019-05-17 21:41:43 +02:00
Makefile