@@ -11123,6 +11123,7 @@ static struct cfg80211_bss *nl80211_assoc_bss(struct cfg80211_registered_device
11123
11123
11124
11124
static int nl80211_process_links(struct cfg80211_registered_device *rdev,
11125
11125
struct cfg80211_assoc_link *links,
11126
+ int assoc_link_id,
11126
11127
const u8 *ssid, int ssid_len,
11127
11128
struct genl_info *info)
11128
11129
{
@@ -11153,7 +11154,7 @@ static int nl80211_process_links(struct cfg80211_registered_device *rdev,
11153
11154
}
11154
11155
links[link_id].bss =
11155
11156
nl80211_assoc_bss(rdev, ssid, ssid_len, attrs,
11156
- link_id , link_id);
11157
+ assoc_link_id , link_id);
11157
11158
if (IS_ERR(links[link_id].bss)) {
11158
11159
err = PTR_ERR(links[link_id].bss);
11159
11160
links[link_id].bss = NULL;
@@ -11350,8 +11351,8 @@ static int nl80211_associate(struct sk_buff *skb, struct genl_info *info)
11350
11351
req.ap_mld_addr = nla_data(info->attrs[NL80211_ATTR_MLD_ADDR]);
11351
11352
ap_addr = req.ap_mld_addr;
11352
11353
11353
- err = nl80211_process_links(rdev, req.links, ssid, ssid_len ,
11354
- info);
11354
+ err = nl80211_process_links(rdev, req.links, req.link_id ,
11355
+ ssid, ssid_len, info);
11355
11356
if (err)
11356
11357
goto free;
11357
11358
@@ -16506,7 +16507,10 @@ static int nl80211_assoc_ml_reconf(struct sk_buff *skb, struct genl_info *info)
16506
16507
16507
16508
add_links = 0;
16508
16509
if (info->attrs[NL80211_ATTR_MLO_LINKS]) {
16509
- err = nl80211_process_links(rdev, links, NULL, 0, info);
16510
+ err = nl80211_process_links(rdev, links,
16511
+ /* mark as MLO, but not assoc */
16512
+ IEEE80211_MLD_MAX_NUM_LINKS,
16513
+ NULL, 0, info);
16510
16514
if (err)
16511
16515
return err;
16512
16516
0 commit comments