ar71xx: mikrotik: bypass id check in __rb_get_wlan_data()
authorThibaut VARÈNE <hacks@slashdirt.org>
Fri, 2 Oct 2020 21:37:05 +0000 (23:37 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 17 Oct 2020 22:32:44 +0000 (00:32 +0200)
commitac56d253618c8c60794496518f2522863f24dedf
tree13c4ebc44ab678f932e04936a045a532f75b03ca
parent5d01d05608937f9de005bd0da3347f91e8223616
ar71xx: mikrotik: bypass id check in __rb_get_wlan_data()

The id parameter in __rb_get_wlan_data() was incorrectly used on the
assumption that id "0" would always be tied to ath9k with RLE encoding
and positive id (in fact, only id "1" was valid) would always be tied to
("external") ath10k with LZO encoding.

Newer hardware revisions of supported devices prove this assumption to
be invalid, with ath9k caldata being now wrapped in MAGIC_ERD and LZO
compressed, so disable this check to allow newer hardware to correctly
decode caldata for ath9k.

Note: this patch assumes that ath9k caldata is never stored with the new
"LZOR" encoding scheme found on some ath10k devices.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
(cherry picked from commit 1c6990fe6d198718850b6a37998416cac69f6f53)
[keep publishing ath10k caldata in sysfs: it's the way it's done on 18.06]
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
Tested-by: Baptiste Jonglez <git@bitsofnetworks.org> [Mikrotik RB941-2nD r3]
target/linux/ar71xx/files/arch/mips/ath79/routerboot.c