summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/dp/txrx/ol_txrx.c4
-rw-r--r--core/mac/inc/qwlan_version.h5
-rw-r--r--core/mac/src/pe/lim/lim_assoc_utils.c6
-rw-r--r--core/mac/src/pe/lim/lim_ft.c16
-rw-r--r--core/mac/src/pe/lim/lim_process_sme_req_messages.c17
-rw-r--r--core/mac/src/sys/legacy/src/utils/src/parser_api.c2
-rw-r--r--core/sme/src/csr/csr_api_roam.c12
-rw-r--r--core/utils/epping/inc/epping_main.h7
-rw-r--r--core/wma/src/wma_features.c4
-rw-r--r--core/wma/src/wma_mgmt.c2
-rw-r--r--core/wma/src/wma_scan_roam.c14
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,
&params);
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);