|
@@ -14080,7 +14080,7 @@ static void csr_populate_supported_rates_from_hostapd(tSirMacRateSet *opr_rates,
|
|
|
*
|
|
|
* Return: void
|
|
|
*/
|
|
|
-static void
|
|
|
+static QDF_STATUS
|
|
|
csr_roam_get_bss_start_parms(tpAniSirGlobal pMac,
|
|
|
struct csr_roam_profile *pProfile,
|
|
|
struct csr_roamstart_bssparams *pParam,
|
|
@@ -14108,6 +14108,7 @@ csr_roam_get_bss_start_parms(tpAniSirGlobal pMac,
|
|
|
"For P2P (persona %d) dot11_mode is 11B",
|
|
|
pProfile->csrPersona);
|
|
|
QDF_ASSERT(0);
|
|
|
+ return QDF_STATUS_E_INVAL;
|
|
|
}
|
|
|
|
|
|
nw_type = csr_convert_mode_to_nw_type(pParam->uCfgDot11Mode, band);
|
|
@@ -14130,6 +14131,7 @@ csr_roam_get_bss_start_parms(tpAniSirGlobal pMac,
|
|
|
sme_err(
|
|
|
"sees an unknown pSirNwType (%d)",
|
|
|
nw_type);
|
|
|
+ return QDF_STATUS_E_INVAL;
|
|
|
case eSIR_11A_NW_TYPE:
|
|
|
csr_populate_basic_rates(opr_rates, true, true);
|
|
|
if (eCSR_OPERATING_CHANNEL_ANY != tmp_opr_ch) {
|
|
@@ -14193,6 +14195,7 @@ csr_roam_get_bss_start_parms(tpAniSirGlobal pMac,
|
|
|
pProfile->ch_params.center_freq_seg1;
|
|
|
pParam->ch_params.sec_ch_offset =
|
|
|
pProfile->ch_params.sec_ch_offset;
|
|
|
+ return QDF_STATUS_SUCCESS;
|
|
|
}
|
|
|
|
|
|
static void
|
|
@@ -20449,7 +20452,13 @@ QDF_STATUS csr_roam_channel_change_req(tpAniSirGlobal pMac,
|
|
|
*/
|
|
|
qdf_mem_zero(¶m, sizeof(struct csr_roamstart_bssparams));
|
|
|
|
|
|
- csr_roam_get_bss_start_parms(pMac, profile, ¶m, skip_hostapd_rate);
|
|
|
+ status = csr_roam_get_bss_start_parms(pMac, profile, ¶m,
|
|
|
+ skip_hostapd_rate);
|
|
|
+
|
|
|
+ if (status != QDF_STATUS_SUCCESS) {
|
|
|
+ sme_err("Failed to get bss parameters");
|
|
|
+ return status;
|
|
|
+ }
|
|
|
|
|
|
pMsg = qdf_mem_malloc(sizeof(tSirChanChangeRequest));
|
|
|
if (!pMsg)
|
|
@@ -20467,7 +20476,7 @@ QDF_STATUS csr_roam_channel_change_req(tpAniSirGlobal pMac,
|
|
|
(WNI_CFG_DOT11_MODE_11AC == pMsg->dot11mode ||
|
|
|
WNI_CFG_DOT11_MODE_11AC_ONLY == pMsg->dot11mode))
|
|
|
pMsg->dot11mode = WNI_CFG_DOT11_MODE_11N;
|
|
|
-
|
|
|
+ pMsg->nw_type = param.sirNwType;
|
|
|
pMsg->center_freq_seg_0 = ch_params->center_freq_seg0;
|
|
|
pMsg->center_freq_seg_1 = ch_params->center_freq_seg1;
|
|
|
pMsg->cac_duration_ms = profile->cac_duration_ms;
|