ath79: ar8216: make switch register access atomic
authorChuanhong Guo <gch981213@gmail.com>
Mon, 21 Sep 2020 06:57:44 +0000 (14:57 +0800)
committerChuanhong Guo <gch981213@gmail.com>
Wed, 30 Sep 2020 07:56:05 +0000 (15:56 +0800)
commit86fdc8abed5992a74078b000b5ff9da723b6f46b
tree301412d3f78e9d4502a9787191c899f5740d5dfa
parent359a4b46bb234166010b3e63b147d93db6c3b4f5
ath79: ar8216: make switch register access atomic

reg accesses on integrated ar8229 sometimes fails. As a result, phy read
got incorrect port status and wan link goes down and up mysteriously.
After comparing ar8216 with the old driver, these local_irq_save/restore
calls are the only meaningful differences I could find and it does fix
the issue.
The same changes were added in svn r26856 by Gabor Juhos:
ar71xx: ag71xx: make switch register access atomic

As I can't find the underlying problem either, this hack is broght
back to fix the unstable link issue.
This hack is only suitable for ath79 mdio and may easily break the
driver on other platform. Limit it to ath79-only as a target patch.

Fixes: FS#2216
Fixes: FS#3226
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
target/linux/ath79/patches-5.4/930-ar8216-make-reg-access-atomic.patch [new file with mode: 0644]