qcacld-3.0: Fix to update proper session_entry in lim_process_messages()

qcacld-2.0 to qcacld-3.0 propagation

In lim_process_messages(), few SME messages updates 'session_entry'
using SME session id. Host driver should not use SME session id in PE.

Fix to update 'session_entry' using pe_find_session_by_bssid().

Change-Id: Icebf4604d5a3a825afc6b1d3540bd228488ce267
CRs-Fixed: 1020643
This commit is contained in:
Sreelakshmi Konamki 2016-09-07 14:35:22 +05:30 • committed by qcabuildsw
commit 336e16e392
4 changed files with 14 additions and 4 deletions

View file

@ -3577,6 +3577,7 @@ typedef struct sSirActiveModeSetBcnFilterReq {
uint16_t messageType;
uint16_t length;
uint8_t seesionId;
struct qdf_mac_addr bssid;
} tSirSetActiveModeSetBncFilterReq, *tpSirSetActiveModeSetBncFilterReq;
/* Reset AP Caps Changed */

View file

@ -1349,6 +1349,8 @@ void lim_process_messages(tpAniSirGlobal mac_ctx, tpSirMsgQ msg)
tTdlsLinkEstablishParams *tdls_link_params = NULL;
#endif
tSirMbMsgP2p *p2p_msg = NULL;
tSirSetActiveModeSetBncFilterReq *bcn_filter_req = NULL;
if (ANI_DRIVER_TYPE(mac_ctx) == eDRIVER_TYPE_MFG) {
qdf_mem_free(msg->bodyptr);
msg->bodyptr = NULL;
@ -1857,8 +1859,10 @@ void lim_process_messages(tpAniSirGlobal mac_ctx, tpSirMsgQ msg)
msg->bodyptr = NULL;
break;
case eWNI_SME_SET_BCN_FILTER_REQ:
session_id = (uint8_t) msg->bodyval;
session_entry = &mac_ctx->lim.gpSession[session_id];
bcn_filter_req =
(tSirSetActiveModeSetBncFilterReq *) msg->bodyptr;
session_entry = pe_find_session_by_bssid(mac_ctx,
bcn_filter_req->bssid.bytes, &session_id);
if ((session_entry != NULL) &&
(lim_send_beacon_filter_info(mac_ctx, session_entry) !=
eSIR_SUCCESS))

View file

@ -11183,8 +11183,11 @@ csr_roam_chk_lnk_set_ctx_rsp(tpAniSirGlobal mac_ctx, tSirSmeRsp *msg_ptr)
pMsg = qdf_mem_malloc(
sizeof(tSirSetActiveModeSetBncFilterReq));
pMsg->messageType = eWNI_SME_SET_BCN_FILTER_REQ;
pMsg->length = sizeof(uint8_t);
pMsg->length = sizeof(tSirSetActiveModeSetBncFilterReq);
pMsg->seesionId = sessionId;
qdf_copy_macaddr(&pMsg->bssid,
&session->connectedProfile.bssid);
status = cds_send_mb_message_to_mac(pMsg);
/*
* OBSS SCAN Indication will be sent to Firmware

View file

@ -1133,8 +1133,10 @@ QDF_STATUS csr_neighbor_roam_indicate_connect(
return QDF_STATUS_E_NOMEM;
}
msg->messageType = eWNI_SME_SET_BCN_FILTER_REQ;
msg->length = sizeof(uint8_t);
msg->length = sizeof(tSirSetActiveModeSetBncFilterReq);
msg->seesionId = session_id;
qdf_copy_macaddr(&msg->bssid,
&session->connectedProfile.bssid);
status = cds_send_mb_message_to_mac(msg);
qdf_copy_macaddr(&roamInfo.peerMac,
&session->connectedProfile.bssid);