[bug report] wifi: ath12k: Extend beacon miss handling for MLO non-AP STA
Dan Carpenter
dan.carpenter at linaro.org
Tue Sep 23 04:21:15 PDT 2025
Hello Maharaja Kennadyrajan,
Commit dcdb05a43df9 ("wifi: ath12k: Extend beacon miss handling for
MLO non-AP STA") from Aug 12, 2025 (linux-next), leads to the
following Smatch static checker warning:
drivers/net/wireless/ath/ath12k/wmi.c:7344 ath12k_peer_sta_kickout_event()
error: uninitialized symbol 'link_id'.
drivers/net/wireless/ath/ath12k/wmi.c
7305 static void ath12k_peer_sta_kickout_event(struct ath12k_base *ab, struct sk_buff *skb)
7306 {
7307 struct wmi_peer_sta_kickout_arg arg = {};
7308 struct ath12k_link_vif *arvif;
7309 struct ieee80211_sta *sta;
7310 struct ath12k_peer *peer;
7311 unsigned int link_id;
7312 struct ath12k *ar;
7313
7314 if (ath12k_pull_peer_sta_kickout_ev(ab, skb, &arg) != 0) {
7315 ath12k_warn(ab, "failed to extract peer sta kickout event");
7316 return;
7317 }
7318
7319 rcu_read_lock();
7320
7321 spin_lock_bh(&ab->base_lock);
7322
7323 peer = ath12k_peer_find_by_addr(ab, arg.mac_addr);
7324
7325 if (!peer) {
7326 ath12k_warn(ab, "peer not found %pM\n",
7327 arg.mac_addr);
7328 goto exit;
7329 }
7330
7331 arvif = ath12k_mac_get_arvif_by_vdev_id(ab, peer->vdev_id);
7332 if (!arvif) {
7333 ath12k_warn(ab, "invalid vdev id in peer sta kickout ev %d",
7334 peer->vdev_id);
7335 goto exit;
7336 }
7337
7338 ar = arvif->ar;
7339
7340 if (peer->mlo) {
7341 sta = ieee80211_find_sta_by_link_addrs(ath12k_ar_to_hw(ar),
7342 arg.mac_addr,
7343 NULL, &link_id);
link_id is uninitialized on error.
--> 7344 if (peer->link_id != link_id) {
^^^^^^^
7345 ath12k_warn(ab,
7346 "Spurious quick kickout for MLO STA %pM with invalid link_id, peer: %d, sta: %d\n",
7347 arg.mac_addr, peer->link_id, link_id);
7348 goto exit;
regards,
dan carpenter
More information about the ath12k
mailing list