[PATCH ath-current v2] wifi: ath11k: cleanup arsta in ath11k_mac_peer_cleanup_all()
Baochen Qiang
baochen.qiang at oss.qualcomm.com
Thu Jul 30 20:46:40 PDT 2026
On 7/30/2026 10:02 PM, Nicolas Escande wrote:
> When mac80211 removes a sta, it calls .sta_state() which in turn calls
> ath11k_mac_station_remove(). In that function we clean up both peers &
> arsta related resources.
>
> But when the firmware crashes, ath11k calls ieee80211_restart_hw(), which
> assumes that all driver related resources are cleanup up beforehand. This
> cleanup is supposedly done by ath11k_mac_peer_cleanup_all() but does not
> in fact free arsta->rx_stats / tx_stats.
>
> So lets extract the arsta cleanup from ath11k_mac_station_remove() into a
> new ath11k_mac_station_cleanup() and call it from both there and
> ath11k_mac_peer_cleanup_all().
>
> This should handle kmemleaks reports like:
> unreferenced object 0xffffff801ae66400 (size 1024):
> comm "hostapd", pid 1306, jiffies 4295011565
> hex dump (first 32 bytes):
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> backtrace (crc d61c08ec):
> kmemleak_alloc+0x3c/0x50
> __kmalloc_cache_noprof+0x2b0/0x3e0
> ath11k_mac_op_sta_state+0x1dc/0xb10
> drv_sta_state+0xac/0x6f8
> sta_info_insert_rcu+0x314/0x5e0
> sta_info_insert+0x14/0x38
> ieee80211_add_station+0x10c/0x1a0
> nl80211_new_station+0x3e8/0x680
> genl_family_rcv_msg_doit+0xc0/0x120
> genl_rcv_msg+0x1b4/0x258
> netlink_rcv_skb+0x4c/0x108
> genl_rcv+0x38/0x60
> netlink_unicast+0x190/0x278
> netlink_sendmsg+0x15c/0x370
> ____sys_sendmsg+0x120/0x290
> ___sys_sendmsg+0x70/0xa0
>
> Tested-on: QCN9074 PCI WLAN.HK.2.9.0.1-01977-QCAHKSWPL_SILICONZ-1
>
> Fixes: 9d5f28c1366f ("wifi: ath11k: fix connection failure due to unexpected peer delete")
I think the right commit introducing this issue should be d5c65159f289 ("ath11k: driver
for Qualcomm IEEE 802.11ax devices")
> Signed-off-by: Nicolas Escande <nico.escande at gmail.com>
with the Fixes: tag fixed:
Reviewed-by: Baochen Qiang <baochen.qiang at oss.qualcomm.com>
More information about the ath11k
mailing list