diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2014-08-18 01:58:42 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2014-08-18 01:58:42 -0700 |
| commit | a66451e93bb8d079bd58e621d273d7ef43ab9bdc (patch) | |
| tree | 7975ae6e7a0facbabebd8a818f6d640df2038d84 | |
| parent | 29c6abb9dd7c54ab6f6b4ca007f3fe1f1faa768b (diff) | |
| parent | 897e47b0f36a15f515693b85ae37eac74a6840c7 (diff) | |
Merge "Release 1.0.0.168 QCACLD WLAN Driver"
| -rw-r--r-- | CORE/CLD_TXRX/HTT/htt_h2t.c | 32 | ||||
| -rw-r--r-- | CORE/CLD_TXRX/TXRX/ol_rx_reorder.c | 6 | ||||
| -rw-r--r-- | CORE/EPPING/src/epping_txrx.c | 2 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg.c | 6 | ||||
| -rw-r--r-- | CORE/MAC/inc/qwlan_version.h | 4 | ||||
| -rw-r--r-- | CORE/MAC/src/include/sirParams.h | 1 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c | 6 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limSendManagementFrames.c | 9 | ||||
| -rw-r--r-- | CORE/SAP/src/sapModule.c | 3 | ||||
| -rw-r--r-- | CORE/SERVICES/BMI/ol_fw.c | 3 | ||||
| -rw-r--r-- | CORE/SERVICES/HIF/USB/if_usb.c | 12 | ||||
| -rw-r--r-- | CORE/SERVICES/HTC/htc.c | 4 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/regdomain_common.h | 1 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/wma.c | 45 | ||||
| -rw-r--r-- | CORE/SME/inc/sme_Api.h | 13 | ||||
| -rw-r--r-- | CORE/SME/src/sme_common/sme_Api.c | 68 | ||||
| -rw-r--r-- | CORE/SYS/legacy/src/utils/src/macTrace.c | 1 | ||||
| -rw-r--r-- | CORE/SYS/legacy/src/utils/src/parserApi.c | 6 | ||||
| -rwxr-xr-x | firmware_bin/WCNSS_qcom_cfg.ini | 3 |
19 files changed, 172 insertions, 53 deletions
diff --git a/CORE/CLD_TXRX/HTT/htt_h2t.c b/CORE/CLD_TXRX/HTT/htt_h2t.c index d9d5ee573776..70c7aedadab2 100644 --- a/CORE/CLD_TXRX/HTT/htt_h2t.c +++ b/CORE/CLD_TXRX/HTT/htt_h2t.c @@ -231,31 +231,13 @@ htt_h2t_rx_ring_cfg_msg_ll(struct htt_pdev_t *pdev) #ifndef REMOVE_PKT_LOG if (ol_cfg_is_packet_log_enabled(pdev->ctrl_pdev)) { - if (ol_cfg_is_full_reorder_offload(pdev->ctrl_pdev)) { - /* In fw with full reorder offload, when pktlog is enabled mgmt/ctrl/ - null frames are routed to fw remote ring which are discarded with - the error bit set. As a result they are not sent to the BA state - machine which causes a problem. - Disable ctrl/mgmt/null flag since frames with status - HTT_RX_IND_MPDU_STATUS_MGMT_CTRL are always dropped by the host. - The ppdu start and end flags are only used in monitor mode which - is not supported on CLD.*/ - enable_ctrl_data = 0; - enable_mgmt_data = 0; - enable_null_data = 0; - enable_phy_data = 1; - enable_hdr = 1; - enable_ppdu_start= 0; - enable_ppdu_end = 0; - } else { - enable_ctrl_data = 1; - enable_mgmt_data = 1; - enable_null_data = 1; - enable_phy_data = 1; - enable_hdr = 1; - enable_ppdu_start= 1; - enable_ppdu_end = 1; - } + enable_ctrl_data = 1; + enable_mgmt_data = 1; + enable_null_data = 1; + enable_phy_data = 1; + enable_hdr = 1; + enable_ppdu_start= 1; + enable_ppdu_end = 1; /* Disable ASPM when pkt log is enabled */ adf_os_print("Pkt log is enabled\n"); htt_htc_disable_aspm(); diff --git a/CORE/CLD_TXRX/TXRX/ol_rx_reorder.c b/CORE/CLD_TXRX/TXRX/ol_rx_reorder.c index 21294288ab71..a9760075678c 100644 --- a/CORE/CLD_TXRX/TXRX/ol_rx_reorder.c +++ b/CORE/CLD_TXRX/TXRX/ol_rx_reorder.c @@ -87,7 +87,11 @@ static char g_log2ceil[] = { /* reorder array elements are known to be non-NULL */ #define OL_RX_REORDER_PTR_CHECK(ptr) /* no-op */ #define OL_RX_REORDER_LIST_APPEND(head_msdu, tail_msdu, rx_reorder_array_elem) \ - adf_nbuf_set_next(tail_msdu, rx_reorder_array_elem->head) + do { \ + if (tail_msdu) { \ + adf_nbuf_set_next(tail_msdu, rx_reorder_array_elem->head); \ + } \ + } while (0) /* functions called by txrx components */ diff --git a/CORE/EPPING/src/epping_txrx.c b/CORE/EPPING/src/epping_txrx.c index bd8c7154687f..678d58e0cfae 100644 --- a/CORE/EPPING/src/epping_txrx.c +++ b/CORE/EPPING/src/epping_txrx.c @@ -431,7 +431,7 @@ int epping_connect_service(epping_context_t *pEpping_ctx) } pEpping_ctx->EppingEndpoint[0] = response.Endpoint; -#if defined(HIF_PCI) +#if defined(HIF_PCI) || defined(HIF_USB) connect.ServiceID = WMI_DATA_BK_SVC; status = HTCConnectService(pEpping_ctx->HTCHandle, &connect, &response); diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c index d94a84054ff7..6b0bb8577585 100644 --- a/CORE/HDD/src/wlan_hdd_cfg.c +++ b/CORE/HDD/src/wlan_hdd_cfg.c @@ -4524,6 +4524,7 @@ VOS_STATUS hdd_update_mac_config(hdd_context_t *pHddCtx) char *line, *buffer = NULL; char *name, *value; tCfgIniEntry macTable[VOS_MAX_CONCURRENCY_PERSONA]; + tSirMacAddr customMacAddr; VOS_STATUS vos_status = VOS_STATUS_SUCCESS; @@ -4593,6 +4594,11 @@ VOS_STATUS hdd_update_mac_config(hdd_context_t *pHddCtx) update_mac_from_string(pHddCtx, &macTable[0], i); + vos_mem_copy(&customMacAddr, + &pHddCtx->cfg_ini->intfMacAddr[0].bytes[0], + sizeof(tSirMacAddr)); + sme_SetCustomMacAddr(customMacAddr); + config_exit: release_firmware(fw); return vos_status; diff --git a/CORE/MAC/inc/qwlan_version.h b/CORE/MAC/inc/qwlan_version.h index 1a1f0d9465ad..096ead01f2a8 100644 --- a/CORE/MAC/inc/qwlan_version.h +++ b/CORE/MAC/inc/qwlan_version.h @@ -42,9 +42,9 @@ BRIEF DESCRIPTION: #define QWLAN_VERSION_MINOR 0 #define QWLAN_VERSION_PATCH 0 #define QWLAN_VERSION_EXTRA "" -#define QWLAN_VERSION_BUILD 167 +#define QWLAN_VERSION_BUILD 168 -#define QWLAN_VERSIONSTR "1.0.0.167" +#define QWLAN_VERSIONSTR "1.0.0.168" #ifdef QCA_WIFI_2_0 diff --git a/CORE/MAC/src/include/sirParams.h b/CORE/MAC/src/include/sirParams.h index 770e6ffec023..19f69267e10c 100644 --- a/CORE/MAC/src/include/sirParams.h +++ b/CORE/MAC/src/include/sirParams.h @@ -640,6 +640,7 @@ typedef struct sSirMbMsgP2p #ifdef WLAN_FEATURE_ROAM_OFFLOAD #define SIR_HAL_HO_FAIL_IND (SIR_HAL_ITC_MSG_TYPES_BEGIN + 282) #endif +#define SIR_HAL_SET_BASE_MACADDR_IND (SIR_HAL_ITC_MSG_TYPES_BEGIN + 283) #define SIR_HAL_MSG_TYPES_END (SIR_HAL_MSG_TYPES_BEGIN + 0x1FF) // CFG message types diff --git a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c index 0673a0333d1e..3868828947ad 100644 --- a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c +++ b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c @@ -773,8 +773,9 @@ __limHandleSmeStartBssRequest(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf) else psessionEntry->htSupportedChannelWidthSet = (pSmeStartBssReq->cbMode)?1:0; - psessionEntry->htRecommendedTxWidthSet = psessionEntry->htSupportedChannelWidthSet; psessionEntry->htSecondaryChannelOffset = pSmeStartBssReq->cbMode; + psessionEntry->htRecommendedTxWidthSet = + (psessionEntry->htSecondaryChannelOffset)? 1:0; VOS_TRACE(VOS_MODULE_ID_PE, VOS_TRACE_LEVEL_INFO, FL("cbMode %u"), pSmeStartBssReq->cbMode); #ifdef WLAN_FEATURE_11AC @@ -4802,12 +4803,15 @@ static void __limProcessSmeSetHT2040Mode(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf) { case PHY_SINGLE_CHANNEL_CENTERED: psessionEntry->htSecondaryChannelOffset = PHY_SINGLE_CHANNEL_CENTERED; + psessionEntry->htRecommendedTxWidthSet = 0; break; case PHY_DOUBLE_CHANNEL_LOW_PRIMARY: psessionEntry->htSecondaryChannelOffset = PHY_DOUBLE_CHANNEL_LOW_PRIMARY; + psessionEntry->htRecommendedTxWidthSet = 1; break; case PHY_DOUBLE_CHANNEL_HIGH_PRIMARY: psessionEntry->htSecondaryChannelOffset = PHY_DOUBLE_CHANNEL_HIGH_PRIMARY; + psessionEntry->htRecommendedTxWidthSet = 1; break; default: limLog(pMac, LOGE,FL("Invalid cbMode")); diff --git a/CORE/MAC/src/pe/lim/limSendManagementFrames.c b/CORE/MAC/src/pe/lim/limSendManagementFrames.c index c32acd7a005c..355cf4a7ea16 100644 --- a/CORE/MAC/src/pe/lim/limSendManagementFrames.c +++ b/CORE/MAC/src/pe/lim/limSendManagementFrames.c @@ -502,8 +502,13 @@ limSendProbeReqMgmtFrame(tpAniSirGlobal pMac, /* Set channelbonding information as "disabled" when tunned to a 2.4 GHz channel */ if( nChannelNum <= SIR_11B_CHANNEL_END) { - pr.HTCaps.supportedChannelWidthSet = eHT_CHANNEL_WIDTH_20MHZ; - pr.HTCaps.shortGI40MHz = 0; + if (pMac->roam.configParam.channelBondingMode24GHz + == PHY_SINGLE_CHANNEL_CENTERED) { + pr.HTCaps.supportedChannelWidthSet = eHT_CHANNEL_WIDTH_20MHZ; + pr.HTCaps.shortGI40MHz = 0; + } else { + pr.HTCaps.supportedChannelWidthSet = eHT_CHANNEL_WIDTH_40MHZ; + } } #ifdef WLAN_FEATURE_11AC diff --git a/CORE/SAP/src/sapModule.c b/CORE/SAP/src/sapModule.c index 8d4f2996a5b6..621e71e26cda 100644 --- a/CORE/SAP/src/sapModule.c +++ b/CORE/SAP/src/sapModule.c @@ -2829,6 +2829,9 @@ WLANSAP_ChannelChangeRequest(v_PVOID_t pSapCtx, tANI_U8 tArgetChannel) if (halStatus == eHAL_STATUS_SUCCESS) { + sapSignalHDDevent(sapContext, NULL, eSAP_CHANNEL_CHANGE_EVENT, + (v_PVOID_t) eSAP_STATUS_SUCCESS); + return VOS_STATUS_SUCCESS; } return VOS_STATUS_E_FAULT; diff --git a/CORE/SERVICES/BMI/ol_fw.c b/CORE/SERVICES/BMI/ol_fw.c index eef562a3ca33..c3c7538b0c76 100644 --- a/CORE/SERVICES/BMI/ol_fw.c +++ b/CORE/SERVICES/BMI/ol_fw.c @@ -461,7 +461,8 @@ static int __ol_transfer_bin_file(struct ol_softc *scn, ATH_BIN_FILE file, #endif break; case ATH_SETUP_FILE: - if (vos_get_conparam() != VOS_FTM_MODE) { + if (vos_get_conparam() != VOS_FTM_MODE && + !WLAN_IS_EPPING_ENABLED(vos_get_conparam())) { #ifdef CONFIG_CNSS printk("%s: no Setup file defined\n", __func__); return -1; diff --git a/CORE/SERVICES/HIF/USB/if_usb.c b/CORE/SERVICES/HIF/USB/if_usb.c index 0a8d11ff4b93..5e2c1015de4b 100644 --- a/CORE/SERVICES/HIF/USB/if_usb.c +++ b/CORE/SERVICES/HIF/USB/if_usb.c @@ -38,6 +38,7 @@ #include "vos_api.h" #include "wma_api.h" #include "wlan_hdd_main.h" +#include "epping_main.h" #ifdef WLAN_BTAMP_FEATURE #include "wlan_btc_svc.h" @@ -203,7 +204,8 @@ hif_usb_probe(struct usb_interface *interface, const struct usb_device_id *id) sc->hdd_removed_processing = 0; sc->hdd_removed_wait_cnt = 0; #ifndef REMOVE_PKT_LOG - if (vos_get_conparam() != VOS_FTM_MODE) { + if (vos_get_conparam() != VOS_FTM_MODE && + !WLAN_IS_EPPING_ENABLED(vos_get_conparam())) { /* * pktlog initialization */ @@ -278,8 +280,9 @@ static void hif_usb_remove(struct usb_interface *interface) if (usb_sc->hdd_removed == 0) { usb_sc->hdd_removed_processing = 1; #ifndef REMOVE_PKT_LOG - if (vos_get_conparam() != VOS_FTM_MODE) - pktlogmod_exit(scn); + if (vos_get_conparam() != VOS_FTM_MODE && + !WLAN_IS_EPPING_ENABLED(vos_get_conparam())) + pktlogmod_exit(scn); #endif __hdd_wlan_exit(); usb_sc->hdd_removed_processing = 0; @@ -486,7 +489,8 @@ void hif_unregister_driver(void) if (usb_sc->hdd_removed == 0) { usb_sc->hdd_removed_processing = 1; #ifndef REMOVE_PKT_LOG - if (vos_get_conparam() != VOS_FTM_MODE) + if (vos_get_conparam() != VOS_FTM_MODE && + !WLAN_IS_EPPING_ENABLED(vos_get_conparam())) pktlogmod_exit(usb_sc->ol_sc); #endif __hdd_wlan_exit(); diff --git a/CORE/SERVICES/HTC/htc.c b/CORE/SERVICES/HTC/htc.c index a1d7024b5dd3..a161bd9abee8 100644 --- a/CORE/SERVICES/HTC/htc.c +++ b/CORE/SERVICES/HTC/htc.c @@ -348,7 +348,7 @@ A_STATUS HTCSetupTargetBufferAssignments(HTC_TARGET *target) * space through the Ethernet interface. * For credit allocation, in SDIO bus case, only BE service is * used for tx/rx perf testing so that all credits are given - * to BE service. In PCIe bus case, endpoint ping uses both + * to BE service. In PCIe and USB bus case, endpoint ping uses both * BE and BK services to stress the bus so that the total credits * are equally distributed to BE and BK services. */ @@ -357,7 +357,7 @@ A_STATUS HTCSetupTargetBufferAssignments(HTC_TARGET *target) pEntry->ServiceID = WMI_DATA_BE_SVC; pEntry->CreditAllocation = credits; #endif - #if defined(HIF_PCI) + #if defined(HIF_PCI) || defined(HIF_USB) pEntry->ServiceID = WMI_DATA_BE_SVC; pEntry->CreditAllocation = (credits >> 1); diff --git a/CORE/SERVICES/WMA/regdomain_common.h b/CORE/SERVICES/WMA/regdomain_common.h index 12faaecbe794..c96708eb2747 100644 --- a/CORE/SERVICES/WMA/regdomain_common.h +++ b/CORE/SERVICES/WMA/regdomain_common.h @@ -145,6 +145,7 @@ enum EnumRd { APL1_ETSIC = 0x55, APL2_ETSIC = 0x56, /* Venezuela */ APL5_WORLD = 0x58, /* Chile */ + APL13_WORLD = 0x5A, /* Algeria */ APL6_WORLD = 0x5B, /* Singapore */ APL7_FCCA = 0x5C, /* Taiwan 5.47 Band */ APL8_WORLD = 0x5D, /* Malaysia 5GHz */ diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index f258470008f2..7ec4f07acf80 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -1954,7 +1954,7 @@ static void wma_update_peer_stats(tp_wma_handle wma, wmi_peer_stats *peer_stats) if (temp_mask & (1 << eCsrGlobalClassAStats)) { classa_stats = (tCsrGlobalClassAStatsInfo *) stats_buf; - WMA_LOGE("peer tx rate:%d", peer_stats->peer_tx_rate); + WMA_LOGD("peer tx rate:%d", peer_stats->peer_tx_rate); /*The linkspeed returned by fw is in kbps so convert *it in to units of 500kbps which is expected by UMAC*/ if (peer_stats->peer_tx_rate) { @@ -1975,7 +1975,7 @@ static void wma_update_peer_stats(tp_wma_handle wma, wmi_peer_stats *peer_stats) * rate flags */ classa_stats->rx_frag_cnt = node->nss; classa_stats->promiscuous_rx_frag_cnt = mcsRateFlags; - WMA_LOGE("Computed mcs_idx:%d mcs_rate_flags:%d", + WMA_LOGD("Computed mcs_idx:%d mcs_rate_flags:%d", classa_stats->mcs_index, mcsRateFlags); } @@ -1983,7 +1983,7 @@ static void wma_update_peer_stats(tp_wma_handle wma, wmi_peer_stats *peer_stats) Convert it back to intervals of 1 dBm */ classa_stats->max_pwr = roundup(classa_stats->max_pwr, 2) >> 1; - WMA_LOGE("peer tx rate flags:%d nss:%d max_txpwr:%d", + WMA_LOGD("peer tx rate flags:%d nss:%d max_txpwr:%d", node->rate_flags, node->nss, classa_stats->max_pwr); } @@ -18243,6 +18243,40 @@ static int wma_process_receive_filter_clear_filter_req(tp_wma_handle wma_handle, return 0; /* SUCCESS */ } +static int wma_set_base_macaddr_indicate(tp_wma_handle wma_handle, + tSirMacAddr *customAddr) +{ + wmi_pdev_set_base_macaddr_cmd_fixed_param *cmd; + wmi_buf_t buf; + int err; + + buf = wmi_buf_alloc(wma_handle->wmi_handle, sizeof(*cmd)); + if (!buf) { + WMA_LOGE("Failed to allocate buffer to send set_base_macaddr cmd"); + return -ENOMEM; + } + + cmd = (wmi_pdev_set_base_macaddr_cmd_fixed_param *) wmi_buf_data(buf); + vos_mem_zero(cmd, sizeof(*cmd)); + + WMITLV_SET_HDR(&cmd->tlv_header, + WMITLV_TAG_STRUC_wmi_pdev_set_base_macaddr_cmd_fixed_param, + WMITLV_GET_STRUCT_TLVLEN( + wmi_pdev_set_base_macaddr_cmd_fixed_param)); + WMI_CHAR_ARRAY_TO_MAC_ADDR(*customAddr, &cmd->base_macaddr); + err = wmi_unified_cmd_send(wma_handle->wmi_handle, buf, + sizeof(*cmd), WMI_PDEV_SET_BASE_MACADDR_CMDID); + if (err) { + WMA_LOGE("Failed to send set_base_macaddr cmd"); + adf_os_mem_free(buf); + return -EIO; + } + WMA_LOGD("Base MAC Addr: "MAC_ADDRESS_STR, + MAC_ADDR_ARRAY((*customAddr))); + + return 0; +} + static void wma_data_tx_ack_work_handler(struct work_struct *ack_work) { struct wma_tx_ack_work_ctx *work; @@ -21536,6 +21570,11 @@ VOS_STATUS wma_mc_process_msg(v_VOID_t *vos_context, vos_msg_t *msg) vos_mem_free(msg->bodyptr); break; #endif + case SIR_HAL_SET_BASE_MACADDR_IND: + wma_set_base_macaddr_indicate(wma_handle, + (tSirMacAddr *)msg->bodyptr); + vos_mem_free(msg->bodyptr); + break; default: WMA_LOGD("unknow msg type %x", msg->type); /* Do Nothing? MSG Body should be freed at here */ diff --git a/CORE/SME/inc/sme_Api.h b/CORE/SME/inc/sme_Api.h index 46568b4b8607..8344ca0a98b9 100644 --- a/CORE/SME/inc/sme_Api.h +++ b/CORE/SME/inc/sme_Api.h @@ -2431,6 +2431,19 @@ eHalStatus sme_SetTxPower(tHalHandle hHal, v_U8_t sessionId, tSirMacAddr pBSSId, tVOS_CON_MODE dev_mode, int power); + +/* --------------------------------------------------------------------------- + + \fn sme_SetCustomMacAddr + + \brief Set the customer Mac Address. + + \param customMacAddr customer MAC Address + \- return eHalStatus + + ---------------------------------------------------------------------------*/ +eHalStatus sme_SetCustomMacAddr(tSirMacAddr customMacAddr); + /* --------------------------------------------------------------------------- \fn sme_HideSSID diff --git a/CORE/SME/src/sme_common/sme_Api.c b/CORE/SME/src/sme_common/sme_Api.c index 44afee76178d..22bc6f6e34c6 100644 --- a/CORE/SME/src/sme_common/sme_Api.c +++ b/CORE/SME/src/sme_common/sme_Api.c @@ -8682,6 +8682,46 @@ eHalStatus sme_SetMaxTxPower(tHalHandle hHal, tSirMacAddr pBssid, return eHAL_STATUS_SUCCESS; } +/* --------------------------------------------------------------------------- + + \fn sme_SetCustomMacAddr + + \brief Set the customer Mac Address. + + \param customMacAddr customer MAC Address + \- return eHalStatus + + ---------------------------------------------------------------------------*/ +eHalStatus sme_SetCustomMacAddr(tSirMacAddr customMacAddr) +{ + vos_msg_t msg; + tSirMacAddr *pBaseMacAddr; + + pBaseMacAddr = vos_mem_malloc(sizeof(tSirMacAddr)); + if (NULL == pBaseMacAddr) + { + VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_ERROR, + FL("Not able to allocate memory for pBaseMacAddr")); + return eHAL_STATUS_FAILURE; + } + + vos_mem_copy(*pBaseMacAddr, customMacAddr, sizeof(tSirMacAddr)); + + msg.type = SIR_HAL_SET_BASE_MACADDR_IND; + msg.reserved = 0; + msg.bodyptr = pBaseMacAddr; + + if (VOS_STATUS_SUCCESS != vos_mq_post_message(VOS_MODULE_ID_WDA, &msg)) + { + VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_ERROR, + FL("Not able to post SIR_HAL_SET_BASE_MACADDR_IND message to WDA")); + vos_mem_free(pBaseMacAddr); + return eHAL_STATUS_FAILURE; + } + + return eHAL_STATUS_SUCCESS; +} + /* ---------------------------------------------------------------------------- \fn sme_SetTxPower \brief Set Transmit Power dynamically. @@ -11404,17 +11444,23 @@ VOS_STATUS sme_SelectCBMode(tHalHandle hHal, eCsrPhyMode eCsrPhyMode, tANI_U8 ch } } - if (pMac->roam.configParam.channelBondingMode24GHz) { - if (channel >= 1 && channel <= 5) - smeConfig.csrConfig.channelBondingMode24GHz = - eCSR_INI_DOUBLE_CHANNEL_LOW_PRIMARY; - else if (channel >= 6 && channel <= 13) - smeConfig.csrConfig.channelBondingMode24GHz = - eCSR_INI_DOUBLE_CHANNEL_HIGH_PRIMARY; - else if (channel ==14) - smeConfig.csrConfig.channelBondingMode24GHz = - eCSR_INI_SINGLE_CHANNEL_CENTERED; - } +#ifdef QCA_HT_2040_COEX + /* if obss is enabled, the channel bonding mode is coming from hostapd, + so we don't need to hard code it here */ + if (!pMac->roam.configParam.obssEnabled) +#endif + if (pMac->roam.configParam.channelBondingMode24GHz) + { + if (channel >= 1 && channel <= 5) + smeConfig.csrConfig.channelBondingMode24GHz = + eCSR_INI_DOUBLE_CHANNEL_LOW_PRIMARY; + else if (channel >= 6 && channel <= 13) + smeConfig.csrConfig.channelBondingMode24GHz = + eCSR_INI_DOUBLE_CHANNEL_HIGH_PRIMARY; + else if (channel ==14) + smeConfig.csrConfig.channelBondingMode24GHz = + eCSR_INI_SINGLE_CHANNEL_CENTERED; + } } /* diff --git a/CORE/SYS/legacy/src/utils/src/macTrace.c b/CORE/SYS/legacy/src/utils/src/macTrace.c index b2f99b111c55..01915543e93a 100644 --- a/CORE/SYS/legacy/src/utils/src/macTrace.c +++ b/CORE/SYS/legacy/src/utils/src/macTrace.c @@ -813,6 +813,7 @@ tANI_U8* macTraceGetWdaMsgString( tANI_U16 wdaMsg ) #ifdef WLAN_FEATURE_ROAM_OFFLOAD CASE_RETURN_STRING(WDA_ROAM_OFFLOAD_SYNCH_CNF); #endif + CASE_RETURN_STRING(SIR_HAL_SET_BASE_MACADDR_IND); default: return((tANI_U8*) "UNKNOWN" ); break; diff --git a/CORE/SYS/legacy/src/utils/src/parserApi.c b/CORE/SYS/legacy/src/utils/src/parserApi.c index f733f20ed31e..d934ddbcc1e7 100644 --- a/CORE/SYS/legacy/src/utils/src/parserApi.c +++ b/CORE/SYS/legacy/src/utils/src/parserApi.c @@ -1084,6 +1084,12 @@ PopulateDot11fExtCap(tpAniSirGlobal pMac, pDot11f->timingMeas = 1; } +#ifdef QCA_HT_2040_COEX + if (pMac->roam.configParam.obssEnabled) + { + pDot11f->bssCoexistMgmtSupport = 1; + } +#endif return eSIR_SUCCESS; } diff --git a/firmware_bin/WCNSS_qcom_cfg.ini b/firmware_bin/WCNSS_qcom_cfg.ini index bd5e48cdd47b..ad365bd5f921 100755 --- a/firmware_bin/WCNSS_qcom_cfg.ini +++ b/firmware_bin/WCNSS_qcom_cfg.ini @@ -415,6 +415,9 @@ gEnableTXSTBC=1 # 1=enable rx LDPC; 0=disable gEnableRXLDPC=1 +#Enable/Disable Tx beamforming +gTxBFEnable=1 + # Enable Active mode offload gEnableActiveModeOffload=1 |
