mac80211: fix reporting MLO link ID for non-MLO STAs on MLO AP
Add missing information on station dump/get Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
5aea8e8916
commit
a34c3baf56
@ -0,0 +1,33 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Wed, 18 Mar 2026 20:01:16 +0000
|
||||
Subject: [PATCH] mac80211: report assoc_link_id in station info for non-MLD
|
||||
STAs on MLD AP
|
||||
|
||||
When a non-MLD station associates with an MLD AP, it does so on a
|
||||
specific link. However, sta_set_sinfo() never sets mlo_params_valid,
|
||||
so nl80211 never emits NL80211_ATTR_MLO_LINK_ID in get_station /
|
||||
dump_station responses. Userspace has no way to determine which link
|
||||
a non-MLD STA is associated on.
|
||||
|
||||
Set mlo_params_valid to 1 and assoc_link_id to sta->deflink.link_id,
|
||||
when valid_links is set.
|
||||
Also set the mld_addr copy only for MLD STAs, so that non-MLD STAs
|
||||
get a zeroed mld_addr as documented.
|
||||
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/sta_info.c
|
||||
+++ b/net/mac80211/sta_info.c
|
||||
@@ -3252,7 +3252,10 @@ void sta_set_sinfo(struct sta_info *sta,
|
||||
struct link_sta_info *link_sta;
|
||||
int link_id;
|
||||
|
||||
- ether_addr_copy(sinfo->mld_addr, sta->addr);
|
||||
+ sinfo->mlo_params_valid = true;
|
||||
+ sinfo->assoc_link_id = sta->deflink.link_id;
|
||||
+ if (sta->sta.mlo)
|
||||
+ ether_addr_copy(sinfo->mld_addr, sta->addr);
|
||||
|
||||
/* assign valid links first for iteration */
|
||||
sinfo->valid_links = sta->sta.valid_links;
|
||||
Loading…
Reference in New Issue
Block a user