|
@@ -1509,85 +1509,6 @@ lim_send_sme_set_context_rsp(tpAniSirGlobal pMac,
|
|
|
lim_sys_process_mmh_msg_api(pMac, &mmhMsg, ePROT);
|
|
|
} /*** end lim_send_sme_set_context_rsp() ***/
|
|
|
|
|
|
-/**
|
|
|
- * lim_send_sme_neighbor_bss_ind()
|
|
|
- *
|
|
|
- ***FUNCTION:
|
|
|
- * This function is called by lim_lookup_nadd_hash_entry() to send
|
|
|
- * eWNI_SME_NEIGHBOR_BSS_IND message to host
|
|
|
- *
|
|
|
- ***PARAMS:
|
|
|
- *
|
|
|
- ***LOGIC:
|
|
|
- *
|
|
|
- ***ASSUMPTIONS:
|
|
|
- * NA
|
|
|
- *
|
|
|
- ***NOTE:
|
|
|
- * This function is used for sending eWNI_SME_NEIGHBOR_BSS_IND to
|
|
|
- * host upon detecting new BSS during background scanning if CFG
|
|
|
- * option is enabled for sending such indication
|
|
|
- *
|
|
|
- * @param pMac - Pointer to Global MAC structure
|
|
|
- * @return None
|
|
|
- */
|
|
|
-
|
|
|
-void
|
|
|
-lim_send_sme_neighbor_bss_ind(tpAniSirGlobal pMac, tLimScanResultNode *pBssDescr)
|
|
|
-{
|
|
|
- struct scheduler_msg msgQ = {0};
|
|
|
- uint32_t val;
|
|
|
- tSirSmeNeighborBssInd *pNewBssInd;
|
|
|
-
|
|
|
- if ((pMac->lim.gLimSmeState != eLIM_SME_LINK_EST_WT_SCAN_STATE) ||
|
|
|
- ((pMac->lim.gLimSmeState == eLIM_SME_LINK_EST_WT_SCAN_STATE) &&
|
|
|
- pMac->lim.gLimRspReqd)) {
|
|
|
- /* LIM is not in background scan state OR */
|
|
|
- /* current scan is initiated by HDD. */
|
|
|
- /* No need to send new BSS indication to HDD */
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- if (wlan_cfg_get_int(pMac, WNI_CFG_NEW_BSS_FOUND_IND, &val) !=
|
|
|
- eSIR_SUCCESS) {
|
|
|
- pe_err("could not get NEIGHBOR_BSS_IND from CFG");
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- if (val == 0)
|
|
|
- return;
|
|
|
-
|
|
|
- /**
|
|
|
- * Need to indicate new BSSs found during
|
|
|
- * background scanning to host.
|
|
|
- * Allocate buffer for sending indication.
|
|
|
- * Length of buffer is length of BSS description
|
|
|
- * and length of header itself
|
|
|
- */
|
|
|
- val = pBssDescr->bssDescription.length + sizeof(uint16_t) +
|
|
|
- sizeof(uint32_t) + sizeof(uint8_t);
|
|
|
- pNewBssInd = qdf_mem_malloc(val);
|
|
|
- if (NULL == pNewBssInd) {
|
|
|
- /* Log error */
|
|
|
- pe_err("call to AllocateMemory failed for eWNI_SME_NEIGHBOR_BSS_IND");
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- pNewBssInd->messageType = eWNI_SME_NEIGHBOR_BSS_IND;
|
|
|
- pNewBssInd->length = (uint16_t) val;
|
|
|
- pNewBssInd->sessionId = 0;
|
|
|
-
|
|
|
- qdf_mem_copy((uint8_t *) pNewBssInd->bssDescription,
|
|
|
- (uint8_t *) &pBssDescr->bssDescription,
|
|
|
- pBssDescr->bssDescription.length + sizeof(uint16_t));
|
|
|
-
|
|
|
- msgQ.type = eWNI_SME_NEIGHBOR_BSS_IND;
|
|
|
- msgQ.bodyptr = pNewBssInd;
|
|
|
- msgQ.bodyval = 0;
|
|
|
- MTRACE(mac_trace(pMac, TRACE_CODE_TX_SME_MSG, NO_SESSION, msgQ.type));
|
|
|
- lim_sys_process_mmh_msg_api(pMac, &msgQ, ePROT);
|
|
|
-} /*** end lim_send_sme_neighbor_bss_ind() ***/
|
|
|
-
|
|
|
/** -----------------------------------------------------------------
|
|
|
\brief lim_send_sme_addts_rsp() - sends SME ADDTS RSP
|
|
|
\ This function sends a eWNI_SME_ADDTS_RSP to SME.
|