[PATCH wireless 1/2] wifi: mac80211: change the links of an AP_VLAN station through its AP

From: Piotr Kubik

Date: Tue Oct 20 2026 - 08:47:35 EST


A 4-address station of an AP MLD moves to an AP_VLAN interface, so its
sta->sdata is the AP_VLAN. The AP_VLAN is never added to the driver,
so check_sdata_in_driver() in drv_change_sta_links() warns and returns
-EIO for every link change of such a station. Adding a link fails, and
removing a link leaves it in the driver, because
ieee80211_sta_remove_link() ignores the error.

Map the AP_VLAN to its AP first, as drv_sta_state() does.

Fixes: 469d5d5a3b7a ("wifi: mac80211: synchronize valid links for WDS AP_VLAN interfaces")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Piotr Kubik <piotr@xxxxxxxx>
---
net/mac80211/driver-ops.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/net/mac80211/driver-ops.c b/net/mac80211/driver-ops.c
--- a/net/mac80211/driver-ops.c
+++ b/net/mac80211/driver-ops.c
@@ -593,6 +593,7 @@ int drv_change_sta_links(struct ieee8021
might_sleep();
lockdep_assert_wiphy(local->hw.wiphy);

+ sdata = get_bss_sdata(sdata);
if (!check_sdata_in_driver(sdata))
return -EIO;