For MLO, link ID needs to be sent along with the nl80211 command to
start CAC for radar detection. Pass the link ID if operating as an AP
MLD.
Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
}
data.radar_background = radar_background;
+ data.link_id = -1;
+#ifdef CONFIG_IEEE80211BE
+ if (hapd->conf->mld_ap)
+ data.link_id = hapd->mld_link_id;
+#endif /* CONFIG_IEEE80211BE */
+
res = hapd->driver->start_dfs_cac(hapd->drv_priv, &data);
if (!res) {
if (radar_background)
return -1;
}
+ if (nl80211_link_valid(bss->valid_links, freq->link_id)) {
+ wpa_printf(MSG_DEBUG,
+ "nl80211: Radar detection (CAC) on link_id=%d",
+ freq->link_id);
+
+ if (nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, freq->link_id)) {
+ nlmsg_free(msg);
+ return -1;
+ }
+ }
+
ret = send_and_recv_cmd(drv, msg);
- if (ret == 0)
+ if (ret == 0) {
+ nl80211_link_set_freq(bss, freq->link_id, freq->freq);
return 0;
+ }
+
wpa_printf(MSG_DEBUG, "nl80211: Failed to start radar detection: "
"%d (%s)", ret, strerror(-ret));
return -1;