]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: cfg80211: Update the link address when a link is added
authorIlan Peer <ilan.peer@intel.com>
Sat, 8 Mar 2025 21:03:37 +0000 (23:03 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 11 Mar 2025 09:53:10 +0000 (10:53 +0100)
When links are added, update the wireless device link addresses based
on the information provided by the driver.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20250308225541.d694a9125aba.I79b010ea9aab47893e4f22c266362fde30b7f9ac@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/cfg80211.h
net/wireless/mlme.c

index c61894c1265a18da84b6f13eceb9ecb2012fe67d..73f0e75cc8147806949195d09912b8e075acadd4 100644 (file)
@@ -9770,6 +9770,7 @@ struct cfg80211_mlo_reconf_done_data {
        u16 added_links;
        struct {
                struct cfg80211_bss *bss;
+               u8 *addr;
        } links[IEEE80211_MLD_MAX_NUM_LINKS];
 };
 
index 956d33b219df1feea29f1774d200d3facc28046e..05d44a4435189cf4c08fb2fa950859ff2d648279 100644 (file)
@@ -1360,6 +1360,10 @@ void cfg80211_mlo_reconf_add_done(struct net_device *dev,
                if (data->added_links & BIT(link_id)) {
                        wdev->links[link_id].client.current_bss =
                                bss_from_pub(bss);
+
+                       memcpy(wdev->links[link_id].addr,
+                              data->links[link_id].addr,
+                              ETH_ALEN);
                } else {
                        cfg80211_unhold_bss(bss_from_pub(bss));
                        cfg80211_put_bss(wiphy, bss);