diff options
| -rw-r--r-- | core/dp/txrx/ol_txrx.c | 4 | ||||
| -rw-r--r-- | core/mac/inc/qwlan_version.h | 5 | ||||
| -rw-r--r-- | core/mac/src/pe/lim/lim_assoc_utils.c | 6 | ||||
| -rw-r--r-- | core/mac/src/pe/lim/lim_ft.c | 16 | ||||
| -rw-r--r-- | core/mac/src/pe/lim/lim_process_sme_req_messages.c | 17 | ||||
| -rw-r--r-- | core/mac/src/sys/legacy/src/utils/src/parser_api.c | 2 | ||||
| -rw-r--r-- | core/sme/src/csr/csr_api_roam.c | 12 | ||||
| -rw-r--r-- | core/utils/epping/inc/epping_main.h | 7 | ||||
| -rw-r--r-- | core/wma/src/wma_features.c | 4 | ||||
| -rw-r--r-- | core/wma/src/wma_mgmt.c | 2 | ||||
| -rw-r--r-- | core/wma/src/wma_scan_roam.c | 14 |
11 files changed, 54 insertions, 35 deletions
diff --git a/core/dp/txrx/ol_txrx.c b/core/dp/txrx/ol_txrx.c index ad2dc54b6c48..ff9f0a8180ce 100644 --- a/core/dp/txrx/ol_txrx.c +++ b/core/dp/txrx/ol_txrx.c @@ -1817,14 +1817,14 @@ ol_txrx_remove_peers_for_vdev(ol_txrx_vdev_handle vdev, temp = peer; } + qdf_spin_unlock_bh(&vdev->pdev->peer_ref_mutex); + if (remove_last_peer) { /* remove IBSS bss peer last */ peer = TAILQ_FIRST(&vdev->peer_list); callback(callback_context, (uint8_t *) &vdev->mac_addr, vdev->vdev_id, peer, false); } - - qdf_spin_unlock_bh(&vdev->pdev->peer_ref_mutex); } /** diff --git a/core/mac/inc/qwlan_version.h b/core/mac/inc/qwlan_version.h index e2bc89c4297a..738e05d5cb54 100644 --- a/core/mac/inc/qwlan_version.h +++ b/core/mac/inc/qwlan_version.h @@ -42,9 +42,8 @@ #define QWLAN_VERSION_MINOR 1 #define QWLAN_VERSION_PATCH 0 #define QWLAN_VERSION_EXTRA "" -#define QWLAN_VERSION_BUILD 4 +#define QWLAN_VERSION_BUILD 5 -#define QWLAN_VERSIONSTR "5.1.0.4" -/* 172 */ +#define QWLAN_VERSIONSTR "5.1.0.5" #endif /* QWLAN_VERSION_H */ diff --git a/core/mac/src/pe/lim/lim_assoc_utils.c b/core/mac/src/pe/lim/lim_assoc_utils.c index aa704af12e01..88dc45e7f8cd 100644 --- a/core/mac/src/pe/lim/lim_assoc_utils.c +++ b/core/mac/src/pe/lim/lim_assoc_utils.c @@ -1399,7 +1399,7 @@ tSirRetStatus lim_populate_vht_mcs_set(tpAniSirGlobal mac_ctx, } rates->vhtTxHighestDataRate = (uint16_t) val; - if (peer_vht_caps == NULL) + if ((peer_vht_caps == NULL) || (!peer_vht_caps->present)) return eSIR_SUCCESS; rates->vhtTxHighestDataRate = @@ -1782,8 +1782,8 @@ lim_populate_peer_rate_set(tpAniSirGlobal pMac, psessionEntry->supported_nss_1x1 = ((pRates->supportedMCSSet[1] != 0) ? false : true); - PELOG1(lim_log(pMac, LOG1, FL("HT supported nss 1x1: %d"), - psessionEntry->supported_nss_1x1);) + lim_log(pMac, LOG1, FL("HT supported nss 1x1: %d"), + psessionEntry->supported_nss_1x1); } lim_populate_vht_mcs_set(pMac, pRates, pVHTCaps, psessionEntry); return eSIR_SUCCESS; diff --git a/core/mac/src/pe/lim/lim_ft.c b/core/mac/src/pe/lim/lim_ft.c index a85e9d6ef340..770ff88533dc 100644 --- a/core/mac/src/pe/lim/lim_ft.c +++ b/core/mac/src/pe/lim/lim_ft.c @@ -685,10 +685,20 @@ void lim_fill_ft_session(tpAniSirGlobal pMac, lim_init_obss_params(pMac, pftSessionEntry); pftSessionEntry->enableHtSmps = psessionEntry->enableHtSmps; - pftSessionEntry->smpsMode = psessionEntry->smpsMode; - lim_log(pMac, LOG1, FL("FT session enable smps: %d mode: %d"), + pftSessionEntry->htSmpsvalue = psessionEntry->htSmpsvalue; + /* + * By default supported NSS 1x1 is set to true + * and later on updated while determining session + * supported rates which is the intersection of + * self and peer rates + */ + pftSessionEntry->supported_nss_1x1 = true; + lim_log(pMac, LOG1, + FL("FT enable smps: %d mode: %d supported nss 1x1: %d"), pftSessionEntry->enableHtSmps, - pftSessionEntry->smpsMode); + pftSessionEntry->htSmpsvalue, + pftSessionEntry->supported_nss_1x1); + qdf_mem_free(pBeaconStruct); } diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c index 026a50a89c0e..8de45fe8734f 100644 --- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c +++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c @@ -1729,11 +1729,19 @@ __lim_process_sme_join_req(tpAniSirGlobal mac_ctx, uint32_t *msg_buf) session->htSmpsvalue = sme_join_req->htSmps; session->send_smps_action = sme_join_req->send_smps_action; + /* + * By default supported NSS 1x1 is set to true + * and later on updated while determining session + * supported rates which is the intersection of + * self and peer rates + */ + session->supported_nss_1x1 = true; lim_log(mac_ctx, LOG1, - FL("enable Smps: %d mode: %d send action: %d"), + FL("enable Smps: %d mode: %d send action: %d supported nss 1x1: %d"), session->enableHtSmps, session->htSmpsvalue, - session->send_smps_action); + session->send_smps_action, + session->supported_nss_1x1); /*Store Persona */ session->pePersona = sme_join_req->staPersona; @@ -2154,10 +2162,11 @@ static void __lim_process_sme_reassoc_req(tpAniSirGlobal mac_ctx, session_entry->send_smps_action = reassoc_req->send_smps_action; lim_log(mac_ctx, LOG1, - FL("enableHtSmps: %d htSmps: %d send action: %d"), + FL("enableHtSmps: %d htSmps: %d send action: %d supported nss 1x1: %d"), session_entry->enableHtSmps, session_entry->htSmpsvalue, - session_entry->send_smps_action); + session_entry->send_smps_action, + session_entry->supported_nss_1x1); /* * Reassociate request is expected * in link established state only. diff --git a/core/mac/src/sys/legacy/src/utils/src/parser_api.c b/core/mac/src/sys/legacy/src/utils/src/parser_api.c index e94a5f6d2b02..db860844cef0 100644 --- a/core/mac/src/sys/legacy/src/utils/src/parser_api.c +++ b/core/mac/src/sys/legacy/src/utils/src/parser_api.c @@ -787,7 +787,7 @@ populate_dot11f_ht_caps(tpAniSirGlobal pMac, /* If STA mode, session supported NSS > 1 and * SMPS enabled publish HT SMPS IE */ - if (psessionEntry && (!pMac->lteCoexAntShare) && + if (psessionEntry && LIM_IS_STA_ROLE(psessionEntry) && (psessionEntry->enableHtSmps) && (!psessionEntry->supported_nss_1x1)) { diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index b86916195094..ee72ae9a44c9 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -1535,11 +1535,7 @@ QDF_STATUS csr_create_roam_scan_channel_list(tpAniSirGlobal pMac, */ bool csr_roam_is_ese_assoc(tpAniSirGlobal mac_ctx, uint8_t session_id) { -#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING return mac_ctx->roam.neighborRoamInfo[session_id].isESEAssoc; -#else - return false; -#endif } /** @@ -8642,11 +8638,19 @@ static void csr_roam_roaming_state_reassoc_rsp_processor(tpAniSirGlobal pMac, &pMac->roam.neighborRoamInfo[pSmeJoinRsp->sessionId]; tCsrRoamInfo roamInfo; uint32_t roamId = 0; + tCsrRoamSession *csr_session; if (eSIR_SME_SUCCESS == pSmeJoinRsp->statusCode) { QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG, FL("CSR SmeReassocReq Successful")); result = eCsrReassocSuccess; + csr_session = CSR_GET_SESSION(pMac, pSmeJoinRsp->sessionId); + if (NULL != csr_session) { + csr_session->supported_nss_1x1 = + pSmeJoinRsp->supported_nss_1x1; + sms_log(pMac, LOG1, FL("SME session supported nss: %d"), + csr_session->supported_nss_1x1); + } /* * Since the neighbor roam algorithm uses reassoc req for * handoff instead of join, we need the response contents while diff --git a/core/utils/epping/inc/epping_main.h b/core/utils/epping/inc/epping_main.h index 0dcae3f87676..6d29f0f175a7 100644 --- a/core/utils/epping/inc/epping_main.h +++ b/core/utils/epping/inc/epping_main.h @@ -41,12 +41,9 @@ #include <qdf_lock.h> #include <qdf_types.h> -#define WLAN_EPPING_ENABLE_BIT (1 << 8) -#define WLAN_EPPING_IRQ_BIT (1 << 9) -#define WLAN_EPPING_FW_UART_BIT (1 << 10) #define WLAN_IS_EPPING_ENABLED(x) (x == QDF_GLOBAL_EPPING_MODE) -#define WLAN_IS_EPPING_IRQ(x) 1 -#define WLAN_IS_EPPING_FW_UART(x) (x & WLAN_EPPING_FW_UART_BIT) +#define WLAN_IS_EPPING_IRQ(x) 1 +#define WLAN_IS_EPPING_FW_UART(x) 0 /* epping_main signatures */ int epping_open(void); diff --git a/core/wma/src/wma_features.c b/core/wma/src/wma_features.c index 23312de758f2..447aa417635b 100644 --- a/core/wma/src/wma_features.c +++ b/core/wma/src/wma_features.c @@ -5598,7 +5598,7 @@ int __wma_bus_resume(WMA_HANDLE handle) WMA_LOGE("%s: wow mode %d", __func__, wow_mode); if (!wow_mode) - return wma_resume_target(handle); + return qdf_status_to_os_return(wma_resume_target(handle)); status = wma_disable_wow_in_fw(handle); return qdf_status_to_os_return(status); @@ -5949,7 +5949,7 @@ QDF_STATUS wma_set_tdls_offchan_mode(WMA_HANDLE handle, params.oper_class = chan_switch_params->oper_class; params.is_responder = chan_switch_params->is_responder; qdf_mem_copy(params.peer_mac_addr, chan_switch_params->peer_mac_addr, - WMI_ETH_LEN); + IEEE80211_ADDR_LEN); ret = wmi_unified_set_tdls_offchan_mode_cmd(wma_handle->wmi_handle, ¶ms); diff --git a/core/wma/src/wma_mgmt.c b/core/wma/src/wma_mgmt.c index e9fe6441471c..e7a0ca05d3ab 100644 --- a/core/wma/src/wma_mgmt.c +++ b/core/wma/src/wma_mgmt.c @@ -1986,7 +1986,7 @@ static int wmi_unified_probe_rsp_tmpl_send(tp_wma_handle wma, params.pProbeRespTemplate = probe_rsp_info->pProbeRespTemplate; params.probeRespTemplateLen = probe_rsp_info->probeRespTemplateLen; qdf_mem_copy(params.bssId, probe_rsp_info->bssId, - WMI_ETH_LEN); + IEEE80211_ADDR_LEN); qdf_mem_copy(params.ucProxyProbeReqValidIEBmap, probe_rsp_info->ucProxyProbeReqValidIEBmap, 8 * sizeof(uint32_t)); diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index 295cde659da1..fc08eef58e72 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -483,14 +483,14 @@ QDF_STATUS wma_start_scan(tp_wma_handle wma_handle, struct scan_start_params cmd = {0}; tSirScanOffloadEvent *scan_event; - cmd.chan_list = qdf_mem_malloc(sizeof(uint32_t) * - scan_req->channelList.numChannels); - if (NULL == cmd.chan_list) { - qdf_status = QDF_STATUS_E_NOMEM; - goto error; + if (scan_req->channelList.numChannels > 0) { + cmd.chan_list = qdf_mem_malloc(sizeof(uint32_t) * + scan_req->channelList.numChannels); + if (NULL == cmd.chan_list) { + qdf_status = QDF_STATUS_E_NOMEM; + goto error; + } } - qdf_mem_zero((void *)cmd.chan_list, sizeof(uint32_t) * - scan_req->channelList.numChannels); if (scan_req->sessionId > wma_handle->max_bssid) { WMA_LOGE("%s: Invalid vdev_id %d, msg_type : 0x%x", __func__, scan_req->sessionId, msg_type); |
