]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: wl18xx: allow firmwares > 8.9.0.x.58
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Tue, 28 May 2024 09:18:17 +0000 (10:18 +0100)
committerKalle Valo <kvalo@kernel.org>
Tue, 18 Jun 2024 10:22:12 +0000 (13:22 +0300)
wlcore firmware versions are structured thusly:

chip.if-type.major.sub-type.minor
e.g.   8    9       0       0     58

With WL18xx ignoring the major firmware version, looking for a
firmware version that conforms to:

chip >= 8
if-type >= 9
major (don't care)
sub-type (don't care)
minor >= 58

Each test is satisfied if the value read from the firmware is greater
than the minimum, but if it is equal (or we don't care about the
field), then the next field is checked.

Thus it doesn't recognise 8.9.1.x.0 as being newer than 8.9.0.x.58
since the major and sub-type numbers are "don't care" and the minor
needs to be greater or equal to 58.

We need to change the major version from "ignore" to "0" for this later
firmware to be correctly detected, and allow the dual-firmware version
support to work.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/E1sBsyH-00E8w6-Vu@rmk-PC.armlinux.org.uk
drivers/net/wireless/ti/wl18xx/wl18xx.h

index 7fed96d71b2718557525ee3c1f0befb503442969..de6c671c4be665fe8830091029bfa6e7cb2f6dbc 100644 (file)
@@ -13,7 +13,7 @@
 /* minimum FW required for driver */
 #define WL18XX_CHIP_VER                8
 #define WL18XX_IFTYPE_VER      9
-#define WL18XX_MAJOR_VER       WLCORE_FW_VER_IGNORE
+#define WL18XX_MAJOR_VER       0
 #define WL18XX_SUBTYPE_VER     WLCORE_FW_VER_IGNORE
 #define WL18XX_MINOR_VER       58