linux/drivers/net/wireless/ti/wlcore
Andreas Kemnade 7495adaa0e wifi: wlcore: enable the right set of ciphers
The firmware version number check for IGTK introduced in
commit c34dbc5900 ("wifi: wlcore: Add support for IGTK key")

lets the amount of ciphers decrease on every boot of a too old firmware and
that is practically happening. It also does not take into account other
chips than the wl18xx. On some wl128x, the following can be observed
when connecting via nm to a common ap:

[  484.113311] wlcore: WARNING could not set keys
[  484.117828] wlcore: ERROR Could not add or replace key
[  484.123016] wlan0: failed to set key (5, ff:ff:ff:ff:ff:ff) to hardware (-5)
[  484.123046] wlcore: Hardware recovery in progress. FW ver: Rev 7.3.10.0.142
[  484.139923] wlcore: pc: 0x0, hint_sts: 0x00000048 count: 1
[  484.145721] wlcore: down
[  484.148986] ieee80211 phy0: Hardware restart was requested
[  484.610473] wlcore: firmware booted (Rev 7.3.10.0.142)
[  484.633758] wlcore: Association completed.
[  484.690490] wlcore: ERROR command execute failure 14
[  484.690490] ------------[ cut here ]------------
[  484.700195] WARNING: drivers/net/wireless/ti/wlcore/main.c:872 at wl12xx_queue_recovery_work+0x64/0x74 [wlcore], CPU#0: kworker/0:0/892

This repeats endlessly.
Always disable IGTK on wl12xx and fix the decrementing mess.

Fixes: c34dbc5900 ("wifi: wlcore: Add support for IGTK key")
Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Link: https://patch.msgid.link/20260604103316.377251-1-andreas@kemnade.info
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2026-06-04 13:21:26 +02:00
..
acx.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
acx.h
boot.c wifi: wlcore: boot: replace deprecated strncpy with strscpy 2023-10-23 20:29:15 +03:00
boot.h
cmd.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
cmd.h wifi: wlcore: Add support for IGTK key 2026-01-19 10:17:03 +01:00
conf.h
debug.h
debugfs.c net: wireless: Remove redundant pm_runtime_mark_last_busy() calls 2025-10-30 08:38:37 +01:00
debugfs.h
event.c wifi: wlcore: correctness fix fwlog reading 2024-06-18 13:22:10 +03:00
event.h
hw_ops.h
ini.h
init.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
init.h
io.c
io.h
Kconfig
main.c wifi: wlcore: enable the right set of ciphers 2026-06-04 13:21:26 +02:00
Makefile
ps.c
ps.h
rx.c
rx.h
scan.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
scan.h
sdio.c wifi: wlcore: sdio: Use pm_ptr instead of #ifdef CONFIG_PM 2026-01-08 13:29:38 +01:00
spi.c wifi: fill in MODULE_DESCRIPTION()s for wlcore 2024-01-31 18:32:31 +02:00
sysfs.c net: wireless: Remove redundant pm_runtime_mark_last_busy() calls 2025-10-30 08:38:37 +01:00
sysfs.h
testmode.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
testmode.h
tx.c wifi: wlcore: Return -ENOMEM instead of -EAGAIN if there is not enough headroom 2026-03-18 09:05:06 +01:00
tx.h
vendor_cmd.c net: wireless: Remove redundant pm_runtime_mark_last_busy() calls 2025-10-30 08:38:37 +01:00
vendor_cmd.h
wl12xx_80211.h wifi: ti: Avoid a hundred -Wflex-array-member-not-at-end warnings 2024-03-28 15:07:37 +02:00
wlcore_i.h Highlights this time are: 2024-06-27 13:53:43 -07:00
wlcore.h wifi: wlcore: Convert to platform remove callback returning void 2023-09-18 17:31:37 +03:00