[PATCH ath-next] wifi: ath11k: do not fail down transitions of the station state
From: Julius Bairaktaris
Date: Sun Nov 01 2026 - 12:45:14 EST
mac80211 requires sta_state to succeed for down transitions and warns
when the driver returns an error for one. ath11k returns the result of
WMI commands for ASSOC -> AUTH and NONE -> NOTEXIST, and these fail
with -ESHUTDOWN while the firmware is down. A station removed during a
firmware crash then triggers, for the disassociation:
Driver is not allowed to fail if the sta_state is transitioning down the list: -108
WARNING: CPU: 1 PID: 5952 at net/mac80211/sta_info.c:1561 ieee80211_sta_eosp+0x119c/0x1668 [mac80211]
and for the removal:
WARNING: CPU: 2 PID: 2080 at net/mac80211/sta_info.c:1652 sta_set_sinfo+0x1118/0x1144 [mac80211]
Call trace:
sta_set_sinfo+0x1118/0x1144 [mac80211] (P)
sta_info_destroy_addr_bss+0x34/0x48 [mac80211]
ieee80211_del_station+0x1c/0x54 [mac80211]
nl80211_del_station+0xf4/0x174 [cfg80211]
Both paths already warn about the failure, and the removal releases the
host state of the station either way. Return success for every down
transition.
Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.12-01460-QCAHKSWPL_SILICONZ-1
Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
Signed-off-by: Julius Bairaktaris <julius@xxxxxxxxxxxxxx>
---
ath10k and ath12k return the same errors for these transitions.
I used Claude (Anthropic) to help write this patch.
drivers/net/wireless/ath/ath11k/mac.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
index 1a237adaa37d1..e5bab84a36bbd 100644
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -10074,6 +10074,10 @@ static int ath11k_mac_op_sta_state(struct ieee80211_hw *hw,
sta->addr);
}
+ /* mac80211 does not let a down transition fail */
+ if (new_state < old_state)
+ ret = 0;
+
mutex_unlock(&ar->conf_mutex);
return ret;
}
--
2.53.0