summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrunal Soni <ksoni@qca.qualcomm.com>2014-09-17 19:59:25 -0700
committerAnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com>2014-11-06 17:25:13 +0530
commit42af3c09d9c5500e5fdfddbf273faf5ed1677e4f (patch)
tree793ab26ae961a92d5ab65c0139426cf09cf4d1c2
parent7496b68809c06726890c7adb37e5f07c46c2367d (diff)
qcacld: Fix to select CB mode based on phymode/channel/vhtchannelwidth
When ever DUT act as SoftAP persona, it was making the election on what CB mode to choose based on phymode and channel number. With this fix, it makes the election on what CB mode to choose based on phymode, channel number, and gVhtChannelWidth from ini. Change-Id: Ib9c965d45fb5019d22957cda07a28da27f6ccb7f CRs-Fixed: 726115
-rw-r--r--CORE/HDD/src/wlan_hdd_cfg80211.c6
-rwxr-xr-xCORE/HDD/src/wlan_hdd_main.c3
-rw-r--r--CORE/SAP/src/sapApiLinkCntl.c47
-rw-r--r--CORE/SAP/src/sapFsm.c87
-rw-r--r--CORE/SAP/src/sapModule.c21
-rw-r--r--CORE/SME/inc/csrInternal.h3
-rw-r--r--CORE/SME/inc/sme_Api.h8
-rw-r--r--CORE/SME/src/csr/csrApiRoam.c13
-rw-r--r--CORE/SME/src/sme_common/sme_Api.c37
9 files changed, 169 insertions, 56 deletions
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 1c28eb65b473..24fa45cc5cfb 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -6184,7 +6184,8 @@ static int wlan_hdd_cfg80211_start_bss(hdd_adapter_t *pHostapdAdapter,
{
sme_SelectCBMode(hHal,
sapConvertSapPhyModeToCsrPhyMode(pConfig->SapHw_mode),
- pConfig->channel);
+ pConfig->channel,
+ WLAN_HDD_GET_CTX(pHostapdAdapter)->cfg_ini->vhtChannelWidth);
}
// ht_capab is not what the name conveys,this is used for protection bitmap
pConfig->ht_capab =
@@ -9648,7 +9649,8 @@ void hdd_select_cbmode( hdd_adapter_t *pAdapter,v_U8_t operationChannel)
/* This call decides required channel bonding mode */
sme_SelectCBMode((WLAN_HDD_GET_CTX(pAdapter)->hHal),
hdd_cfg_xlate_to_csr_phy_mode(hddDot11Mode),
- operationChannel);
+ operationChannel,
+ WLAN_HDD_GET_CTX(pAdapter)->cfg_ini->vhtChannelWidth);
}
/*
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index 39c7fbcf3435..a6162c9cf147 100755
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -14209,7 +14209,8 @@ void wlan_hdd_check_sta_ap_concurrent_ch_intf(void *data)
pHddApCtx->sapConfig.channel = intf_ch;
sme_SelectCBMode(hHal,
sapConvertSapPhyModeToCsrPhyMode(pHddApCtx->sapConfig.SapHw_mode),
- pHddApCtx->sapConfig.channel);
+ pHddApCtx->sapConfig.channel,
+ pHddCtx->cfg_ini->vhtChannelWidth);
wlan_hdd_restart_sap(ap_adapter);
}
diff --git a/CORE/SAP/src/sapApiLinkCntl.c b/CORE/SAP/src/sapApiLinkCntl.c
index ae730d339b73..7290981d94e0 100644
--- a/CORE/SAP/src/sapApiLinkCntl.c
+++ b/CORE/SAP/src/sapApiLinkCntl.c
@@ -139,11 +139,24 @@ WLANSAP_ScanCallback
tWLAN_SAPEvent sapEvent; /* State machine event */
v_U8_t operChannel = 0;
VOS_STATUS sapstatus;
+ tpAniSirGlobal pMac = NULL;
+ v_U32_t vhtChannelWidth;
#ifdef SOFTAP_CHANNEL_RANGE
v_U32_t operatingBand;
v_U32_t event;
#endif
+ if (NULL == halHandle)
+ {
+ VOS_TRACE(VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_ERROR,
+ "In %s invalid hHal", __func__);
+ return eHAL_STATUS_FAILURE;
+ }
+ else
+ {
+ pMac = PMAC_STRUCT( halHandle );
+ }
+
/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
VOS_TRACE( VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_INFO_HIGH, "In %s, before switch on scanStatus = %d", __func__, scanStatus);
@@ -234,10 +247,22 @@ WLANSAP_ScanCallback
{
psapContext->channel = operChannel;
}
+ if (eHAL_STATUS_SUCCESS != ccmCfgGetInt(halHandle,
+ WNI_CFG_VHT_CHANNEL_WIDTH,
+ &vhtChannelWidth))
+ {
+ VOS_TRACE(VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_ERROR,
+ FL("Get WNI_CFG_VHT_CHANNEL_WIDTH failed"));
+ /*
+ * In case of failure, take the vht channel width from
+ * original ini value
+ */
+ vhtChannelWidth = pMac->roam.configParam.nVhtChannelWidth;
+ }
sme_SelectCBMode(halHandle,
sapConvertSapPhyModeToCsrPhyMode(psapContext->csrRoamProfile.phyMode),
- psapContext->channel);
+ psapContext->channel, vhtChannelWidth);
#ifdef SOFTAP_CHANNEL_RANGE
if(psapContext->channelList != NULL)
{
@@ -305,6 +330,7 @@ WLANSAP_RoamCallback
eHalStatus halStatus = eHAL_STATUS_SUCCESS;
tHalHandle hHal = VOS_GET_HAL_CB(sapContext->pvosGCtx);
tpAniSirGlobal pMac = NULL;
+ v_U32_t vhtChannelWidth;
if (NULL == hHal)
{
@@ -833,8 +859,23 @@ WLANSAP_RoamCallback
*/
if (pMac->sap.SapDfsInfo.target_channel)
{
- sme_SelectCBMode(hHal, phyMode,
- pMac->sap.SapDfsInfo.target_channel);
+ if (eHAL_STATUS_SUCCESS != ccmCfgGetInt(hHal,
+ WNI_CFG_VHT_CHANNEL_WIDTH,
+ &vhtChannelWidth))
+ {
+ VOS_TRACE(VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_ERROR,
+ FL("Get WNI_CFG_VHT_CHANNEL_WIDTH failed"));
+ /*
+ * In case of failure, take the vht channel width from
+ * original ini value
+ */
+ vhtChannelWidth =
+ pMac->roam.configParam.nVhtChannelWidth;
+ }
+
+ sme_SelectCBMode(hHal, phyMode,
+ pMac->sap.SapDfsInfo.target_channel,
+ vhtChannelWidth);
}
/*
diff --git a/CORE/SAP/src/sapFsm.c b/CORE/SAP/src/sapFsm.c
index dff89611436b..632f5cb94b22 100644
--- a/CORE/SAP/src/sapFsm.c
+++ b/CORE/SAP/src/sapFsm.c
@@ -65,6 +65,7 @@
// Pick up the PMC API definitions
#include "pmcApi.h"
#include "wlan_nv.h"
+#include "vos_utils.h"
/*----------------------------------------------------------------------------
* Preprocessor Definitions and Constants
@@ -1626,8 +1627,9 @@ static v_U8_t sapRandomChannelSel(ptSapContext sapContext)
* no channels are avaialbe
*/
if (available_chnl_count) {
- get_random_bytes(&random_byte, 1);
- i = (random_byte + jiffies) % available_chnl_count;
+ vos_rand_get_bytes(0, (v_U8_t*)&random_byte, 1);
+ i = (random_byte + vos_timer_get_system_ticks()) %
+ available_chnl_count;
/* Random channel selection from available list */
target_channel = availableChannels[i];
pMac->sap.SapDfsInfo.new_chanWidth = chanWidth;
@@ -2012,6 +2014,7 @@ sapGotoChannelSel
tHalHandle hHal;
#ifndef FEATURE_WLAN_MCC_TO_SCC_SWITCH
tANI_U8 channel;
+ tANI_U32 vhtChannelWidth = 0;
#endif
hHal = (tHalHandle)vos_get_context( VOS_MODULE_ID_SME, sapContext->pvosGCtx);
@@ -2057,10 +2060,24 @@ sapGotoChannelSel
{ /*if a valid channel is returned then use concurrent channel.
Else take whatever comes from configuartion*/
sapContext->channel = channel;
- sme_SelectCBMode(hHal,
- sapConvertSapPhyModeToCsrPhyMode(
- sapContext->csrRoamProfile.phyMode),
- channel);
+ if (eHAL_STATUS_SUCCESS != ccmCfgGetInt(hHal,
+ WNI_CFG_VHT_CHANNEL_WIDTH,
+ &vhtChannelWidth))
+ {
+ VOS_TRACE(VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_ERROR,
+ FL("Get WNI_CFG_VHT_CHANNEL_WIDTH failed"));
+ /*
+ * In case of failure, take the vht channel width from
+ * original ini value
+ */
+ vhtChannelWidth =
+ PMAC_STRUCT(hHal)->roam.configParam.nVhtChannelWidth;
+ }
+ sme_SelectCBMode(hHal,
+ sapConvertSapPhyModeToCsrPhyMode(
+ sapContext->csrRoamProfile.phyMode),
+ channel, vhtChannelWidth);
+
}
#endif
}
@@ -3112,6 +3129,7 @@ sapFsm
tHalHandle hHal = VOS_GET_HAL_CB(sapContext->pvosGCtx);
tpAniSirGlobal pMac;
v_U32_t cbMode;
+ v_U32_t vhtChannelWidth;
if (NULL == hHal)
{
@@ -3263,10 +3281,24 @@ sapFsm
"%s: Override Chosen Ch:%d to %d due to CC Intf!!",
__func__,sapContext->channel, con_ch);
sapContext->channel = con_ch;
- sme_SelectCBMode(hHal,
- sapConvertSapPhyModeToCsrPhyMode(
+ if (eHAL_STATUS_SUCCESS != ccmCfgGetInt(hHal,
+ WNI_CFG_VHT_CHANNEL_WIDTH,
+ &vhtChannelWidth))
+ {
+ VOS_TRACE(VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_ERROR,
+ FL("Get WNI_CFG_VHT_CHANNEL_WIDTH failed"));
+ /*
+ * In case of failure, take the vht channel width from
+ * original ini value
+ */
+ vhtChannelWidth =
+ pMac->roam.configParam.nVhtChannelWidth;
+ }
+ sme_SelectCBMode(hHal,
+ sapConvertSapPhyModeToCsrPhyMode(
sapContext->csrRoamProfile.phyMode),
- sapContext->channel);
+ sapContext->channel, vhtChannelWidth);
+
}
}
#endif
@@ -3302,10 +3334,23 @@ sapFsm
sapContext->channel, ch);
sapContext->channel = ch;
- sme_SelectCBMode(hHal,
- sapConvertSapPhyModeToCsrPhyMode(
- sapContext->csrRoamProfile.phyMode),
- sapContext->channel);
+ if (eHAL_STATUS_SUCCESS != ccmCfgGetInt(hHal,
+ WNI_CFG_VHT_CHANNEL_WIDTH,
+ &vhtChannelWidth))
+ {
+ VOS_TRACE(VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_ERROR,
+ FL("Get WNI_CFG_VHT_CHANNEL_WIDTH failed"));
+ /*
+ * In case of failure, take the vht channel width from
+ * original ini value
+ */
+ vhtChannelWidth =
+ pMac->roam.configParam.nVhtChannelWidth;
+ }
+ sme_SelectCBMode(hHal,
+ sapConvertSapPhyModeToCsrPhyMode(
+ sapContext->csrRoamProfile.phyMode),
+ sapContext->channel, vhtChannelWidth);
}
if (sapContext->channel > 14 &&
(sapContext->csrRoamProfile.phyMode ==
@@ -3394,8 +3439,22 @@ sapFsm
}
else if (pMac->sap.SapDfsInfo.target_channel)
{
+ if (eHAL_STATUS_SUCCESS != ccmCfgGetInt(hHal,
+ WNI_CFG_VHT_CHANNEL_WIDTH,
+ &vhtChannelWidth))
+ {
+ VOS_TRACE(VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_ERROR,
+ FL("Get WNI_CFG_VHT_CHANNEL_WIDTH failed"));
+ /*
+ * In case of failure, take the vht channel width from
+ * original ini value
+ */
+ vhtChannelWidth =
+ pMac->roam.configParam.nVhtChannelWidth;
+ }
sme_SelectCBMode(hHal, phyMode,
- pMac->sap.SapDfsInfo.target_channel);
+ pMac->sap.SapDfsInfo.target_channel,
+ vhtChannelWidth);
}
for (intf = 0; intf < SAP_MAX_NUM_SESSION; intf++)
diff --git a/CORE/SAP/src/sapModule.c b/CORE/SAP/src/sapModule.c
index c8ce37759320..5b33236d0ebe 100644
--- a/CORE/SAP/src/sapModule.c
+++ b/CORE/SAP/src/sapModule.c
@@ -2828,6 +2828,10 @@ WLANSAP_ChannelChangeRequest(v_PVOID_t pSapCtx, tANI_U8 tArgetChannel)
ptSapContext sapContext = NULL;
eHalStatus halStatus = eHAL_STATUS_FAILURE;
v_PVOID_t hHal = NULL;
+ tpAniSirGlobal pMac = NULL;
+ eCsrPhyMode phyMode;
+ tANI_U32 cbMode;
+ tANI_U32 vhtChannelWidth;
sapContext = (ptSapContext)pSapCtx;
if ( NULL == sapContext )
@@ -2844,10 +2848,19 @@ WLANSAP_ChannelChangeRequest(v_PVOID_t pSapCtx, tANI_U8 tArgetChannel)
"%s: Invalid HAL pointer from pvosGCtx", __func__);
return VOS_STATUS_E_FAULT;
}
-
- halStatus = sme_RoamChannelChangeReq( hHal, sapContext->bssid,
- tArgetChannel,
- sapConvertSapPhyModeToCsrPhyMode(sapContext->csrRoamProfile.phyMode) );
+ pMac = PMAC_STRUCT( hHal );
+ phyMode =
+ sapConvertSapPhyModeToCsrPhyMode(sapContext->csrRoamProfile.phyMode);
+ /*
+ * We are getting channel bonding mode from sapDfsInfor structure
+ * because we've implemented channel width fallback mechanism for DFS
+ * which will result in channel width changing dynamically.
+ */
+ cbMode = pMac->sap.SapDfsInfo.new_cbMode;
+ vhtChannelWidth = pMac->sap.SapDfsInfo.new_chanWidth;
+ halStatus = sme_RoamChannelChangeReq(hHal, sapContext->bssid,
+ tArgetChannel,
+ phyMode, cbMode, vhtChannelWidth);
if (halStatus == eHAL_STATUS_SUCCESS)
{
diff --git a/CORE/SME/inc/csrInternal.h b/CORE/SME/inc/csrInternal.h
index fff0554535ce..5d08f18966ef 100644
--- a/CORE/SME/inc/csrInternal.h
+++ b/CORE/SME/inc/csrInternal.h
@@ -1479,7 +1479,8 @@ tANI_BOOLEAN csrRoamIsStaMode(tpAniSirGlobal pMac, tANI_U32 sessionId);
/* Post Channel Change Indication */
eHalStatus csrRoamChannelChangeReq(tpAniSirGlobal pMac, tCsrBssid bssid,
- tANI_U8 targetChannel, tANI_U8 cbMode);
+ tANI_U8 targetChannel, tANI_U8 cbMode,
+ tANI_U8 vhtChannelWidth);
/* Post Beacon Tx Start Indication */
eHalStatus csrRoamStartBeaconReq( tpAniSirGlobal pMac,
diff --git a/CORE/SME/inc/sme_Api.h b/CORE/SME/inc/sme_Api.h
index 3aa79410e374..61f37a08cb1f 100644
--- a/CORE/SME/inc/sme_Api.h
+++ b/CORE/SME/inc/sme_Api.h
@@ -3462,7 +3462,8 @@ eCsrPhyMode sme_GetPhyMode(tHalHandle hHal);
/*
* SME API to determine the channel bonding mode
*/
-VOS_STATUS sme_SelectCBMode(tHalHandle hHal, eCsrPhyMode eCsrPhyMode, tANI_U8 channel);
+VOS_STATUS sme_SelectCBMode(tHalHandle hHal, eCsrPhyMode eCsrPhyMode,
+ tANI_U8 channel, tANI_U32 vhtChannelWidth);
#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
/*--------------------------------------------------------------------------
@@ -3710,8 +3711,9 @@ eHalStatus sme_set_auto_shutdown_cb(tHalHandle hHal,
eHalStatus sme_set_auto_shutdown_timer(tHalHandle hHal, tANI_U32 timer_value);
#endif
-eHalStatus sme_RoamChannelChangeReq( tHalHandle hHal, tCsrBssid bssid,
- tANI_U8 targetChannel, eCsrPhyMode phyMode );
+eHalStatus sme_RoamChannelChangeReq(tHalHandle hHal, tCsrBssid bssid,
+ tANI_U8 targetChannel, eCsrPhyMode phyMode,
+ tANI_U32 cbMode, tANI_U32 vhtChannelWidth);
eHalStatus sme_RoamStartBeaconReq( tHalHandle hHal,
tCsrBssid bssid, tANI_U8 dfsCacWaitStatus);
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c
index 438bf2829705..4a402ad9ba83 100644
--- a/CORE/SME/src/csr/csrApiRoam.c
+++ b/CORE/SME/src/csr/csrApiRoam.c
@@ -18150,12 +18150,12 @@ VOS_STATUS csrRoamReadTSF(tpAniSirGlobal pMac, tANI_U8 *pTimestamp,
* Channel Change Req for SAP
*/
eHalStatus
-csrRoamChannelChangeReq( tpAniSirGlobal pMac, tCsrBssid bssid,
- tANI_U8 targetChannel, tANI_U8 cbMode )
+csrRoamChannelChangeReq(tpAniSirGlobal pMac, tCsrBssid bssid,
+ tANI_U8 targetChannel, tANI_U8 cbMode,
+ tANI_U8 vhtChannelWidth )
{
eHalStatus status = eHAL_STATUS_SUCCESS;
tSirChanChangeRequest *pMsg;
- tANI_U32 vhtChannelWidth;
pMsg = vos_mem_malloc( sizeof(tSirChanChangeRequest) );
if (!pMsg)
@@ -18165,13 +18165,6 @@ csrRoamChannelChangeReq( tpAniSirGlobal pMac, tCsrBssid bssid,
vos_mem_set((void *)pMsg, sizeof( tSirChanChangeRequest ), 0);
- /*
- * We are getting channel width from sapDfsInfor structure
- * because we've implemented channel width fallback mechanism for DFS
- * which will result in channel width changing dynamically.
- */
- vhtChannelWidth = pMac->sap.SapDfsInfo.new_chanWidth;
-
#ifdef WLAN_FEATURE_11AC
// cbMode = 1 in cfg.ini is mapped to PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3
// in function csrConvertCBIniValueToPhyCBState()
diff --git a/CORE/SME/src/sme_common/sme_Api.c b/CORE/SME/src/sme_common/sme_Api.c
index 401254fbdf21..f5fb4c38b6ec 100644
--- a/CORE/SME/src/sme_common/sme_Api.c
+++ b/CORE/SME/src/sme_common/sme_Api.c
@@ -11494,7 +11494,8 @@ static VOS_STATUS sme_AdjustCBMode(tAniSirGlobal* pMac,
/*
* SME API to determine the channel bonding mode
*/
-VOS_STATUS sme_SelectCBMode(tHalHandle hHal, eCsrPhyMode eCsrPhyMode, tANI_U8 channel)
+VOS_STATUS sme_SelectCBMode(tHalHandle hHal, eCsrPhyMode eCsrPhyMode,
+ tANI_U8 channel, tANI_U32 vhtChannelWidth)
{
tSmeConfigParams smeConfig;
tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
@@ -11526,8 +11527,9 @@ VOS_STATUS sme_SelectCBMode(tHalHandle hHal, eCsrPhyMode eCsrPhyMode, tANI_U8 ch
sme_GetConfigParam(pMac, &smeConfig);
#ifdef WLAN_FEATURE_11AC
- if ( eCSR_DOT11_MODE_11ac == eCsrPhyMode ||
- eCSR_DOT11_MODE_11ac_ONLY == eCsrPhyMode )
+ if ((eCSR_DOT11_MODE_11ac == eCsrPhyMode ||
+ eCSR_DOT11_MODE_11ac_ONLY == eCsrPhyMode) &&
+ (eHT_CHANNEL_WIDTH_80MHZ == vhtChannelWidth))
{
if (pMac->roam.configParam.channelBondingMode5GHz) {
if ( channel== 36 || channel == 52 || channel == 100 ||
@@ -11586,8 +11588,11 @@ VOS_STATUS sme_SelectCBMode(tHalHandle hHal, eCsrPhyMode eCsrPhyMode, tANI_U8 ch
}
#endif
- if ( eCSR_DOT11_MODE_11n == eCsrPhyMode ||
- eCSR_DOT11_MODE_11n_ONLY == eCsrPhyMode )
+ if ((eCSR_DOT11_MODE_11n == eCsrPhyMode ||
+ eCSR_DOT11_MODE_11n_ONLY == eCsrPhyMode) ||
+ ((eCSR_DOT11_MODE_11ac == eCsrPhyMode ||
+ eCSR_DOT11_MODE_11ac_ONLY == eCsrPhyMode) &&
+ (eHT_CHANNEL_WIDTH_40MHZ == vhtChannelWidth)))
{
if (pMac->roam.configParam.channelBondingMode5GHz) {
if ( channel== 40 || channel == 48 || channel == 56 ||
@@ -12718,28 +12723,24 @@ eHalStatus sme_ChAvoidUpdateReq
\param targetChannel - New Channel to move the SAP to.
\return eHalStatus
---------------------------------------------------------------------------*/
-eHalStatus sme_RoamChannelChangeReq( tHalHandle hHal, tCsrBssid bssid,
- tANI_U8 targetChannel, eCsrPhyMode phyMode )
+eHalStatus sme_RoamChannelChangeReq(tHalHandle hHal, tCsrBssid bssid,
+ tANI_U8 targetChannel, eCsrPhyMode phyMode,
+ tANI_U32 cbMode, tANI_U32 vhtChannelWidth)
{
eHalStatus status = eHAL_STATUS_FAILURE;
tpAniSirGlobal pMac = PMAC_STRUCT( hHal );
- tANI_U32 cbMode;
- /*
- * We are getting channel bonding mode from sapDfsInfor structure
- * because we've implemented channel width fallback mechanism for DFS
- * which will result in channel width changing dynamically.
- */
- cbMode = pMac->sap.SapDfsInfo.new_cbMode;
status = sme_AcquireGlobalLock( &pMac->sme );
if ( HAL_STATUS_SUCCESS( status ) )
{
- sme_SelectCBMode(hHal, phyMode, targetChannel);
+ sme_SelectCBMode(hHal, phyMode, targetChannel, vhtChannelWidth);
- VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_INFO_MED,
- FL("sapdfs: channel bonding mode is [%d]"), cbMode);
+ VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_ERROR,
+ FL("sapdfs: requested CBmode=%d & new negotiated CBmode=%d"),
+ cbMode, pMac->roam.configParam.channelBondingMode5GHz);
status = csrRoamChannelChangeReq(pMac, bssid, targetChannel,
- cbMode);
+ (tANI_U8)pMac->roam.configParam.channelBondingMode5GHz,
+ (tANI_U8)vhtChannelWidth);
sme_ReleaseGlobalLock( &pMac->sme );
}
return (status);