]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
wifi: cfg80211: Fix use_for flag update on BSS refresh
authorHuang Chenming <chenming.huang@oss.qualcomm.com>
Tue, 9 Dec 2025 02:57:33 +0000 (08:27 +0530)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 8 Jan 2026 12:23:08 +0000 (13:23 +0100)
commit4073ea516106e5f98ed0476f89cdede8baa98d37
treec5b03bd0d5a9c030f981fd28537904d6e9120c38
parent2e985cfac7e502dc2769b1730985635df7dc86be
wifi: cfg80211: Fix use_for flag update on BSS refresh

Userspace may fail to connect to certain BSS that were initially
marked as unusable due to regulatory restrictions (use_for = 0,
e.g., 6 GHz power type mismatch). Even after these restrictions
are removed and the BSS becomes usable, connection attempts still
fail.

The issue occurs in cfg80211_update_known_bss() where the use_for
flag is updated using bitwise AND (&=) instead of direct assignment.
Once a BSS is marked with use_for = 0, the AND operation masks out
any subsequent non-zero values, permanently keeping the flag at 0.
This causes __cfg80211_get_bss(), invoked by nl80211_assoc_bss(), to
fail the check "(bss->pub.use_for & use_for) != use_for", thereby
blocking association.

Replace the bitwise AND operation with direct assignment so the use_for
flag accurately reflects the current BSS state.

Fixes: d02a12b8e4bb ("wifi: cfg80211: add BSS usage reporting")
Signed-off-by: Huang Chenming <chenming.huang@oss.qualcomm.com>
Link: https://patch.msgid.link/20251209025733.2098456-1-chenming.huang@oss.qualcomm.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/scan.c