diff options
author | Veerendranath Jakkam <quic_vjakkam@quicinc.com> | 2022-07-22 16:10:00 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2022-08-25 12:05:07 +0300 |
commit | 7a77cd47ec28ed3b455ed6f9e46230d82c480f04 (patch) | |
tree | 3d964402fc889f4e1d3659715308100c58472d84 /net/wireless | |
parent | 6b75f133fe05c36c52d691ff21545d5757fff721 (diff) | |
download | linux-7a77cd47ec28ed3b455ed6f9e46230d82c480f04.tar.xz |
wifi: nl80211: send MLO links channel info in GET_INTERFACE
Currently, MLO link level channel information not sent to
userspace when NL80211_CMD_GET_INTERFACE requested on MLD.
Add support to send channel information for all valid links
for NL80211_CMD_GET_INTERFACE request.
Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
Link: https://lore.kernel.org/r/20220722131000.3437894-1-quic_vjakkam@quicinc.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless')
-rw-r--r-- | net/wireless/nl80211.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 8568304f96af..2baa2f2bc1ed 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -3865,12 +3865,19 @@ static int nl80211_send_iface(struct sk_buff *msg, u32 portid, u32 seq, int flag for_each_valid_link(wdev, link_id) { struct nlattr *link = nla_nest_start(msg, link_id + 1); + struct cfg80211_chan_def chandef = {}; + int ret; if (nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)) goto nla_put_failure; if (nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN, wdev->links[link_id].addr)) goto nla_put_failure; + + ret = rdev_get_channel(rdev, wdev, link_id, &chandef); + if (ret == 0 && nl80211_send_chandef(msg, &chandef)) + goto nla_put_failure; + nla_nest_end(msg, link); } |