qcacld-3.0: Make User CSA request as sync call
GO on 5 GHz channel 48, MLO STA 5 GHz (48) + 6 GHz (1) is UP. SAP starts ACS, and before ACS complete, supplicant moves GO to 5 GHz channel 149. Before GO CSA is completed, SAP ACS is completed and start AP on 5 GHz channel 157. Then 3 home channels are on same 5 GHz high band. Fix by make User CSA as sync call and after GO CSA is completed SAP should force SCC to low band during SAP starting, then avoid 3 home channels on high band. Change-Id: I55ee559b47f270322ac3d2da7304dc5e8e104cf1 CRs-Fixed: 3352096
This commit is contained in:

zatwierdzone przez
Madan Koyyalamudi

rodzic
d0190a1cfa
commit
ead07b04fe
@@ -23995,6 +23995,7 @@ static int __wlan_hdd_cfg80211_channel_switch(struct wiphy *wiphy,
|
||||
int ret;
|
||||
enum phy_ch_width ch_width;
|
||||
bool status;
|
||||
struct hdd_hostapd_state *hostapd_state;
|
||||
|
||||
if (wlan_hdd_validate_vdev_id(adapter->vdev_id))
|
||||
return -EINVAL;
|
||||
@@ -24023,11 +24024,26 @@ static int __wlan_hdd_cfg80211_channel_switch(struct wiphy *wiphy,
|
||||
hdd_debug("Freq %d width %d ch_width %d",
|
||||
csa_params->chandef.chan->center_freq,
|
||||
csa_params->chandef.width, ch_width);
|
||||
hostapd_state = WLAN_HDD_GET_HOSTAP_STATE_PTR(adapter);
|
||||
qdf_event_reset(&hostapd_state->qdf_event);
|
||||
|
||||
ret =
|
||||
hdd_softap_set_channel_change(dev,
|
||||
csa_params->chandef.chan->center_freq,
|
||||
ch_width, false);
|
||||
if (ret) {
|
||||
hdd_err("CSA failed to %d, ret %d",
|
||||
csa_params->chandef.chan->center_freq, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
status = qdf_wait_for_event_completion(&hostapd_state->qdf_event,
|
||||
SME_CMD_START_BSS_TIMEOUT);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
hdd_err("wait for qdf_event failed!!");
|
||||
else
|
||||
hdd_debug("csa done");
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user