diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2014-08-02 23:56:08 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2014-08-02 23:56:08 -0700 |
| commit | eb9913565b6c155033afadbaf152ef0fb3297a67 (patch) | |
| tree | 8cc5548ca527a3a00c850ead866ba78d231600f3 | |
| parent | 027d6ed215f115ab1a9971e9c0648624a404da2a (diff) | |
| parent | ab60ba0a9a391b068944277b916d53477eacac5e (diff) | |
Merge "Release 1.0.0.159 QCACLD WLAN Driver"
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_ipa.c | 10 | ||||
| -rw-r--r-- | CORE/MAC/inc/qwlan_version.h | 4 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limFT.c | 53 | ||||
| -rw-r--r-- | CORE/SERVICES/HIF/PCIe/copy_engine.c | 23 | ||||
| -rw-r--r-- | CORE/SERVICES/HIF/PCIe/if_pci.c | 36 | ||||
| -rw-r--r-- | CORE/SERVICES/HIF/sdio/linux/if_ath_sdio.c | 4 | ||||
| -rw-r--r-- | CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c | 5 | ||||
| -rw-r--r-- | CORE/SME/src/csr/csrApiRoam.c | 14 | ||||
| -rw-r--r-- | CORE/SME/src/sme_common/sme_FTApi.c | 110 | ||||
| -rw-r--r-- | CORE/VOSS/src/vos_api.c | 1 | ||||
| -rw-r--r-- | Kbuild | 11 | ||||
| -rw-r--r-- | Kconfig | 4 |
12 files changed, 160 insertions, 115 deletions
diff --git a/CORE/HDD/src/wlan_hdd_ipa.c b/CORE/HDD/src/wlan_hdd_ipa.c index eb4284c57f34..ad77e11536b0 100644 --- a/CORE/HDD/src/wlan_hdd_ipa.c +++ b/CORE/HDD/src/wlan_hdd_ipa.c @@ -1598,6 +1598,16 @@ static void hdd_ipa_i2w_cb(void *priv, enum ipa_dp_evt_type evt, hdd_ipa = iface_context->hdd_ipa; + /* + * When SSR is going on, just drop the packets. There is no use in + * queueing the packets as STA has to connect back any way + */ + if (hdd_ipa->hdd_ctx->isLogpInProgress) { + ipa_free_skb(ipa_tx_desc); + iface_context->stats.num_tx_drop++; + return; + } + adf_os_mem_set(skb->cb, 0, sizeof(skb->cb)); NBUF_OWNER_ID(skb) = IPA_NBUF_OWNER_ID; NBUF_CALLBACK_FN(skb) = hdd_ipa_nbuf_cb; diff --git a/CORE/MAC/inc/qwlan_version.h b/CORE/MAC/inc/qwlan_version.h index 8ed42cbe490b..1b1e13c45599 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 158 +#define QWLAN_VERSION_BUILD 159 -#define QWLAN_VERSIONSTR "1.0.0.158" +#define QWLAN_VERSIONSTR "1.0.0.159" #ifdef QCA_WIFI_2_0 diff --git a/CORE/MAC/src/pe/lim/limFT.c b/CORE/MAC/src/pe/lim/limFT.c index b9cee3f4a1b8..7a9d4047911f 100644 --- a/CORE/MAC/src/pe/lim/limFT.c +++ b/CORE/MAC/src/pe/lim/limFT.c @@ -78,13 +78,6 @@ void limFTCleanupPreAuthInfo(tpAniSirGlobal pMac, tpPESession psessionEntry) tpPESession pReAssocSessionEntry = NULL; tANI_U8 sessionId = 0; - if (!pMac) { -#if defined WLAN_FEATURE_VOWIFI_11R_DEBUG - PELOGE(limLog(pMac, LOGE, "%s: pMac is NULL", __func__);) -#endif - return; - } - if (!psessionEntry) { #if defined WLAN_FEATURE_VOWIFI_11R_DEBUG PELOGE(limLog(pMac, LOGE, "%s: psessionEntry is NULL", __func__);) @@ -346,7 +339,12 @@ void limPerformFTPreAuth(tpAniSirGlobal pMac, eHalStatus status, { tSirMacAuthFrameBody authFrame; - if (psessionEntry && psessionEntry->is11Rconnection && + if (NULL == psessionEntry) { + PELOGE(limLog(pMac, LOGE, FL("psessionEntry is NULL"));) + return; + } + + if (psessionEntry->is11Rconnection && psessionEntry->ftPEContext.pFTPreAuthReq) { /* Only 11r assoc has FT IEs */ if (psessionEntry->ftPEContext.pFTPreAuthReq->ft_ies == NULL) { @@ -1054,8 +1052,8 @@ void limFTProcessPreAuthResult(tpAniSirGlobal pMac, eHalStatus status, { tpPESession psessionEntry = (tpPESession)data; - if (NULL == psessionEntry && - NULL == psessionEntry->ftPEContext.pFTPreAuthReq) + if (NULL == psessionEntry || + NULL == psessionEntry->ftPEContext.pFTPreAuthReq) return; /* Nothing to be done if the session is not in STA mode */ @@ -1117,24 +1115,25 @@ void limPostFTPreAuthRsp(tpAniSirGlobal pMac, tSirRetStatus status, PELOGE(limLog( pMac, LOG1, FL("Auth Rsp = %p"), pFTPreAuthRsp);) #endif - /* Nothing to be done if the session is not in STA mode */ - if (eLIM_STA_ROLE != psessionEntry->limSystemRole) { + if (psessionEntry) { + /* Nothing to be done if the session is not in STA mode */ + if (eLIM_STA_ROLE != psessionEntry->limSystemRole) { #if defined WLAN_FEATURE_VOWIFI_11R_DEBUG - PELOGE(limLog(pMac, LOGE, FL("psessionEntry is not in STA mode"));) + PELOGE(limLog(pMac, LOGE, FL("psessionEntry is not in STA mode"));) #endif - return; + return; + } + pFTPreAuthRsp->smeSessionId = psessionEntry->smeSessionId; + + /* The bssid of the AP we are sending Auth1 to. */ + if (psessionEntry->ftPEContext.pFTPreAuthReq) + sirCopyMacAddr(pFTPreAuthRsp->preAuthbssId, + psessionEntry->ftPEContext.pFTPreAuthReq->preAuthbssId); } pFTPreAuthRsp->messageType = eWNI_SME_FT_PRE_AUTH_RSP; pFTPreAuthRsp->length = (tANI_U16) rspLen; pFTPreAuthRsp->status = status; - if (psessionEntry) - pFTPreAuthRsp->smeSessionId = psessionEntry->smeSessionId; - - /* The bssid of the AP we are sending Auth1 to. */ - if (psessionEntry->ftPEContext.pFTPreAuthReq) - sirCopyMacAddr(pFTPreAuthRsp->preAuthbssId, - psessionEntry->ftPEContext.pFTPreAuthReq->preAuthbssId); /* Attach the auth response now back to SME */ pFTPreAuthRsp->ft_ies_length = 0; @@ -1174,7 +1173,6 @@ void limHandleFTPreAuthRsp(tpAniSirGlobal pMac, tSirRetStatus status, tANI_U8 *auth_rsp, tANI_U16 auth_rsp_length, tpPESession psessionEntry) { - tpPESession pftSessionEntry = NULL; tANI_U8 sessionId = 0; tpSirBssDescription pbssDescription = NULL; @@ -1205,10 +1203,15 @@ void limHandleFTPreAuthRsp(tpAniSirGlobal pMac, tSirRetStatus status, auth_rsp_length; } + if (!psessionEntry->ftPEContext.pFTPreAuthReq || + !psessionEntry->ftPEContext.pFTPreAuthReq->pbssDescription) { + limLog(pMac, LOGE, + FL("pFTPreAuthReq or pbssDescription is NULL")); + return; + } + /* Create FT session for the re-association at this point */ - if (psessionEntry->ftPEContext.ftPreAuthStatus == eSIR_SUCCESS && - psessionEntry->ftPEContext.pFTPreAuthReq && - psessionEntry->ftPEContext.pFTPreAuthReq->pbssDescription) { + if (psessionEntry->ftPEContext.ftPreAuthStatus == eSIR_SUCCESS) { pbssDescription = psessionEntry->ftPEContext.pFTPreAuthReq->pbssDescription; limPrintMacAddr(pMac, pbssDescription->bssId, LOG1); diff --git a/CORE/SERVICES/HIF/PCIe/copy_engine.c b/CORE/SERVICES/HIF/PCIe/copy_engine.c index 23d3793e55dc..b6cf8f4fc3d2 100644 --- a/CORE/SERVICES/HIF/PCIe/copy_engine.c +++ b/CORE/SERVICES/HIF/PCIe/copy_engine.c @@ -839,8 +839,19 @@ CE_per_engine_servicereap(struct hif_pci_softc *sc, unsigned int CE_id) A_TARGET_ACCESS_BEGIN(targid); - adf_os_spin_lock(&sc->target_lock); + /* Since this function is called from both user context and + * tasklet context the spinlock has to lock the bottom halves. + * This fix assumes that ATH_11AC_TXCOMPACT flag is always + * enabled in TX polling mode. If this is not the case, more + * bottom halve spin lock changes are needed. Due to data path + * performance concern, after internal discussion we've decided + * to make minimum change, i.e., only address the issue occurred + * in this function. The possible negative effect of this minimum + * change is that, in the future, if some other function will also + * be opened to let the user context to use, those cases need to be + * addressed by change spin_lock to spin_lock_bh also. */ + adf_os_spin_lock_bh(&sc->target_lock); if (CE_state->send_cb) { { @@ -849,22 +860,22 @@ CE_per_engine_servicereap(struct hif_pci_softc *sc, unsigned int CE_id) &buf, &nbytes, &id, &sw_idx, &hw_idx) == A_OK) { if(CE_id != CE_HTT_H2T_MSG){ - adf_os_spin_unlock(&sc->target_lock); + adf_os_spin_unlock_bh(&sc->target_lock); CE_state->send_cb((struct CE_handle *)CE_state, CE_context, transfer_context, buf, nbytes, id, sw_idx, hw_idx); - adf_os_spin_lock(&sc->target_lock); + adf_os_spin_lock_bh(&sc->target_lock); }else{ struct HIF_CE_pipe_info *pipe_info = (struct HIF_CE_pipe_info *)CE_context; - adf_os_spin_lock(&pipe_info->completion_freeq_lock); + adf_os_spin_lock_bh(&pipe_info->completion_freeq_lock); pipe_info->num_sends_allowed++; - adf_os_spin_unlock(&pipe_info->completion_freeq_lock); + adf_os_spin_unlock_bh(&pipe_info->completion_freeq_lock); } } } } - adf_os_spin_unlock(&sc->target_lock); + adf_os_spin_unlock_bh(&sc->target_lock); A_TARGET_ACCESS_END(targid); } diff --git a/CORE/SERVICES/HIF/PCIe/if_pci.c b/CORE/SERVICES/HIF/PCIe/if_pci.c index 247d2b76ca32..60449a49a59f 100644 --- a/CORE/SERVICES/HIF/PCIe/if_pci.c +++ b/CORE/SERVICES/HIF/PCIe/if_pci.c @@ -1764,7 +1764,7 @@ out: #define OL_ATH_PCI_PM_CONTROL 0x44 static int -hif_pci_suspend(struct pci_dev *pdev, pm_message_t state) +__hif_pci_suspend(struct pci_dev *pdev, pm_message_t state) { struct hif_pci_softc *sc = pci_get_drvdata(pdev); void *vos = vos_get_global_context(VOS_MODULE_ID_HIF, NULL); @@ -1781,8 +1781,6 @@ hif_pci_suspend(struct pci_dev *pdev, pm_message_t state) if (vos_is_logp_in_progress(VOS_MODULE_ID_HIF, NULL)) return ret; - vos_ssr_protect(__func__); - if (HIFTargetSleepStateAdjust(targid, FALSE, TRUE) < 0) goto out; @@ -1906,12 +1904,24 @@ hif_pci_suspend(struct pci_dev *pdev, pm_message_t state) ret = 0; out: + return ret; +} + +static int hif_pci_suspend(struct pci_dev *pdev, pm_message_t state) +{ + int ret; + + vos_ssr_protect(__func__); + + ret = __hif_pci_suspend(pdev, state); + vos_ssr_unprotect(__func__); + return ret; } static int -hif_pci_resume(struct pci_dev *pdev) +__hif_pci_resume(struct pci_dev *pdev) { struct hif_pci_softc *sc = pci_get_drvdata(pdev); void *vos_context = vos_get_global_context(VOS_MODULE_ID_HIF, NULL); @@ -1925,8 +1935,6 @@ hif_pci_resume(struct pci_dev *pdev) if (vos_is_logp_in_progress(VOS_MODULE_ID_HIF, NULL)) return err; - vos_ssr_protect(__func__); - adf_os_atomic_set(&sc->pci_link_suspended, 0); /* Enable Legacy PCI line interrupts */ @@ -2013,14 +2021,26 @@ hif_pci_resume(struct pci_dev *pdev) out: printk("%s: Resume completes %d\n", __func__, err); - vos_ssr_unprotect(__func__); - if (err) return (-1); return (0); } +static int +hif_pci_resume(struct pci_dev *pdev) +{ + int ret; + + vos_ssr_protect(__func__); + + ret = __hif_pci_resume(pdev); + + vos_ssr_unprotect(__func__); + + return ret; +} + /* routine to modify the initial buffer count to be allocated on an os * platform basis. Platform owner will need to modify this as needed */ diff --git a/CORE/SERVICES/HIF/sdio/linux/if_ath_sdio.c b/CORE/SERVICES/HIF/sdio/linux/if_ath_sdio.c index 433247c7f809..dbbe6a95a960 100644 --- a/CORE/SERVICES/HIF/sdio/linux/if_ath_sdio.c +++ b/CORE/SERVICES/HIF/sdio/linux/if_ath_sdio.c @@ -65,6 +65,7 @@ typedef void * hif_handle_t; typedef void * hif_softc_t; extern int hdd_wlan_startup(struct device *dev, void *hif_sc); +extern void __hdd_wlan_exit(void); struct ath_hif_sdio_softc *sc = NULL; @@ -225,6 +226,9 @@ ath_hif_sdio_remove(void *context, void *hif_handle) } #endif + //cleaning up the upper layers + __hdd_wlan_exit(); + if (sc && sc->ol_sc){ A_FREE(sc->ol_sc); sc->ol_sc = NULL; diff --git a/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c b/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c index 3e1700dd04de..84c24db5ad21 100644 --- a/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c +++ b/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c @@ -36,8 +36,6 @@ #include "if_ath_sdio.h" #include "regtable.h" -extern void __hdd_wlan_exit(void ); - /* by default setup a bounce buffer for the data packets, if the underlying host controller driver does not use DMA you may be able to skip this step and save the memory allocation and transfer time */ #define HIF_USE_DMA_BOUNCE_BUFFER 1 @@ -1977,9 +1975,6 @@ static void hifDeviceRemoved(struct sdio_func *func) ENTER(); - //cleaning up the upper layers - __hdd_wlan_exit(); - device = getHifDevice(func); if (device->powerConfig == HIF_DEVICE_POWER_CUT) { diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c index 78442566ab3f..ac4717621ff4 100644 --- a/CORE/SME/src/csr/csrApiRoam.c +++ b/CORE/SME/src/csr/csrApiRoam.c @@ -17756,13 +17756,21 @@ eHalStatus csrRoamUpdateWPARSNIEs( tpAniSirGlobal pMac, tANI_U32 sessionId, tSir } #ifdef WLAN_FEATURE_VOWIFI_11R -//eHalStatus csrRoamIssueFTPreauthReq(tHalHandle hHal, tANI_U32 sessionId, tCsrBssid preAuthBssid, tANI_U8 channelId) -eHalStatus csrRoamIssueFTPreauthReq(tHalHandle hHal, tANI_U32 sessionId, tpSirBssDescription pBssDescription) +eHalStatus +csrRoamIssueFTPreauthReq(tHalHandle hHal, tANI_U32 sessionId, + tpSirBssDescription pBssDescription) { tpAniSirGlobal pMac = PMAC_STRUCT( hHal ); tpSirFTPreAuthReq pftPreAuthReq; tANI_U16 auth_req_len = 0; - tCsrRoamSession *pSession = CSR_GET_SESSION( pMac, sessionId ); + tCsrRoamSession *pSession = CSR_GET_SESSION(pMac, sessionId); + + if (NULL == pSession) { + smsLog(pMac, LOGE, + FL("Session does not exist for session id(%d)"), sessionId); + return eHAL_STATUS_FAILURE; + } + auth_req_len = sizeof(tSirFTPreAuthReq); pftPreAuthReq = (tpSirFTPreAuthReq)vos_mem_malloc(auth_req_len); if (NULL == pftPreAuthReq) diff --git a/CORE/SME/src/sme_common/sme_FTApi.c b/CORE/SME/src/sme_common/sme_FTApi.c index 2ce4e02d9f9a..814e9c0ee653 100644 --- a/CORE/SME/src/sme_common/sme_FTApi.c +++ b/CORE/SME/src/sme_common/sme_FTApi.c @@ -46,39 +46,34 @@ void sme_FTOpen(tHalHandle hHal, tANI_U32 sessionId) { tpAniSirGlobal pMac = PMAC_STRUCT( hHal ); eHalStatus status = eHAL_STATUS_SUCCESS; - tCsrRoamSession *pSession = NULL; + tCsrRoamSession *pSession = CSR_GET_SESSION(pMac, sessionId); - if (CSR_IS_SESSION_VALID(pMac, sessionId)) - { - /* Clear existing context data if any */ - pSession = CSR_GET_SESSION( pMac, sessionId ); - if (NULL != pSession) { - /* Clean up the context */ - vos_mem_set(&pSession->ftSmeContext, sizeof(tftSMEContext), 0); - - pSession->ftSmeContext.pUsrCtx = vos_mem_malloc( - sizeof(tFTRoamCallbackUsrCtx)); - - if (NULL == pSession->ftSmeContext.pUsrCtx) { - smsLog(pMac, LOGE, FL("Memory allocation failure")); - return; - } - pSession->ftSmeContext.pUsrCtx->pMac = pMac; - pSession->ftSmeContext.pUsrCtx->sessionId = sessionId; - - status = - vos_timer_init(&pSession->ftSmeContext.preAuthReassocIntvlTimer, - VOS_TIMER_TYPE_SW, - sme_PreauthReassocIntvlTimerCallback, - (void *)pSession->ftSmeContext.pUsrCtx); - - if (eHAL_STATUS_SUCCESS != status) { - smsLog(pMac, LOGE, - FL("Preauth Reassoc interval Timer allocation failed")); - vos_mem_free(pSession->ftSmeContext.pUsrCtx); - pSession->ftSmeContext.pUsrCtx = NULL; - return; - } + if (NULL != pSession) { + /* Clean up the context */ + vos_mem_set(&pSession->ftSmeContext, sizeof(tftSMEContext), 0); + + pSession->ftSmeContext.pUsrCtx = vos_mem_malloc( + sizeof(tFTRoamCallbackUsrCtx)); + + if (NULL == pSession->ftSmeContext.pUsrCtx) { + smsLog(pMac, LOGE, FL("Memory allocation failure")); + return; + } + pSession->ftSmeContext.pUsrCtx->pMac = pMac; + pSession->ftSmeContext.pUsrCtx->sessionId = sessionId; + + status = + vos_timer_init(&pSession->ftSmeContext.preAuthReassocIntvlTimer, + VOS_TIMER_TYPE_SW, + sme_PreauthReassocIntvlTimerCallback, + (void *)pSession->ftSmeContext.pUsrCtx); + + if (eHAL_STATUS_SUCCESS != status) { + smsLog(pMac, LOGE, + FL("Preauth Reassoc interval Timer allocation failed")); + vos_mem_free(pSession->ftSmeContext.pUsrCtx); + pSession->ftSmeContext.pUsrCtx = NULL; + return; } } } @@ -356,12 +351,11 @@ eHalStatus sme_FTSendUpdateKeyInd(tHalHandle hHal, tANI_U32 sessionId, v_BOOL_t sme_GetFTPTKState(tHalHandle hHal, tANI_U32 sessionId) { - tpAniSirGlobal pMac = PMAC_STRUCT( hHal ); - tCsrRoamSession *pSession = CSR_GET_SESSION( pMac, sessionId ); + tpAniSirGlobal pMac = PMAC_STRUCT(hHal); + tCsrRoamSession *pSession = CSR_GET_SESSION(pMac, sessionId); - if (!pSession) - { - smsLog( pMac, LOGE, FL("pSession is NULL")); + if (!pSession) { + smsLog(pMac, LOGE, FL("pSession is NULL")); return VOS_FALSE; } return pSession->ftSmeContext.setFTPTKState; @@ -369,8 +363,13 @@ v_BOOL_t sme_GetFTPTKState(tHalHandle hHal, tANI_U32 sessionId) void sme_SetFTPTKState(tHalHandle hHal, tANI_U32 sessionId, v_BOOL_t state) { - tpAniSirGlobal pMac = PMAC_STRUCT( hHal ); - tCsrRoamSession *pSession = CSR_GET_SESSION( pMac, sessionId ); + tpAniSirGlobal pMac = PMAC_STRUCT(hHal); + tCsrRoamSession *pSession = CSR_GET_SESSION(pMac, sessionId); + + if (!pSession) { + smsLog(pMac, LOGE, FL("pSession is NULL")); + return; + } pSession->ftSmeContext.setFTPTKState = state; } @@ -571,23 +570,19 @@ void sme_PreauthReassocIntvlTimerCallback(void *context) ------------------------------------------------------------------------*/ void sme_FTReset(tHalHandle hHal, tANI_U32 sessionId) { - tpAniSirGlobal pMac = PMAC_STRUCT( hHal ); + tpAniSirGlobal pMac = PMAC_STRUCT(hHal); tCsrRoamSession *pSession = NULL; - if (pMac == NULL) - { + if (pMac == NULL) { VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_ERROR, FL("pMac is NULL")); return; } - pSession = CSR_GET_SESSION( pMac, sessionId ); + pSession = CSR_GET_SESSION(pMac, sessionId); if (NULL != pSession) { - - if (pSession->ftSmeContext.auth_ft_ies != NULL) - { - + if (pSession->ftSmeContext.auth_ft_ies != NULL) { #if defined WLAN_FEATURE_VOWIFI_11R_DEBUG - smsLog( pMac, LOG1, FL(" Freeing FT Auth IE %p and setting to NULL"), + smsLog(pMac, LOG1, FL("Freeing FT Auth IE %p and setting to NULL"), pSession->ftSmeContext.auth_ft_ies); #endif vos_mem_free(pSession->ftSmeContext.auth_ft_ies); @@ -595,11 +590,10 @@ void sme_FTReset(tHalHandle hHal, tANI_U32 sessionId) } pSession->ftSmeContext.auth_ft_ies_length = 0; - if (pSession->ftSmeContext.reassoc_ft_ies != NULL) - { + if (pSession->ftSmeContext.reassoc_ft_ies != NULL) { #if defined WLAN_FEATURE_VOWIFI_11R_DEBUG smsLog(pMac, LOG1, - FL(" Freeing FT Reassoc IE %p and setting to NULL"), + FL("Freeing FT Reassoc IE %p and setting to NULL"), pSession->ftSmeContext.reassoc_ft_ies); #endif vos_mem_free(pSession->ftSmeContext.reassoc_ft_ies); @@ -607,23 +601,21 @@ void sme_FTReset(tHalHandle hHal, tANI_U32 sessionId) } pSession->ftSmeContext.reassoc_ft_ies_length = 0; - if (pSession->ftSmeContext.psavedFTPreAuthRsp != NULL) - { + if (pSession->ftSmeContext.psavedFTPreAuthRsp != NULL) { #if defined WLAN_FEATURE_VOWIFI_11R_DEBUG smsLog( pMac, LOG1, FL("Freeing FtPreAuthRsp %p and setting to NULL"), pSession->ftSmeContext.psavedFTPreAuthRsp); #endif - vos_mem_free(pSession->ftSmeContext.psavedFTPreAuthRsp); + vos_mem_free(pSession->ftSmeContext.psavedFTPreAuthRsp); vos_mem_set(pSession->ftSmeContext.psavedFTPreAuthRsp, sizeof(tSirFTPreAuthRsp), 0); } - pSession->ftSmeContext.setFTPreAuthState = VOS_FALSE; - pSession->ftSmeContext.setFTPTKState = VOS_FALSE; - - vos_mem_zero(pSession->ftSmeContext.preAuthbssId, ANI_MAC_ADDR_SIZE); - } + pSession->ftSmeContext.setFTPreAuthState = VOS_FALSE; + pSession->ftSmeContext.setFTPTKState = VOS_FALSE; + vos_mem_zero(pSession->ftSmeContext.preAuthbssId, ANI_MAC_ADDR_SIZE); pSession->ftSmeContext.FTState = eFT_START_READY; + } } /* End of File */ diff --git a/CORE/VOSS/src/vos_api.c b/CORE/VOSS/src/vos_api.c index c22e4beeb9ec..eadd860a1a3f 100644 --- a/CORE/VOSS/src/vos_api.c +++ b/CORE/VOSS/src/vos_api.c @@ -2479,6 +2479,7 @@ static DECLARE_WORK(self_recovery_work, self_recovery_work_handler); void vos_trigger_recovery(void) { #ifdef CONFIG_CNSS + vos_set_logp_in_progress(VOS_MODULE_ID_VOSS, TRUE); schedule_work(&self_recovery_work); #endif } @@ -40,8 +40,8 @@ ifeq ($(KERNEL_BUILD), 0) #Flag to enable BlueTooth AMP feature CONFIG_PRIMA_WLAN_BTAMP := n - #Flag to enable Legacy Fast Roaming(LFR) - CONFIG_PRIMA_WLAN_LFR := y + #Flag to enable Legacy Fast Roaming3(LFR3) + CONFIG_QCACLD_WLAN_LFR3 := y #JB kernel has PMKSA patches, hence enabling this flag CONFIG_PRIMA_WLAN_OKC := y @@ -1023,7 +1023,8 @@ CDEFINES := -DANI_LITTLE_BYTE_ENDIAN \ -DWLAN_FEATURE_LINK_LAYER_STATS \ -DWLAN_LOGGING_SOCK_SVC_ENABLE \ -DFEATURE_WLAN_EXTSCAN \ - -DQCA_LL_TX_FLOW_CT + -DQCA_LL_TX_FLOW_CT \ + -DFEATURE_WLAN_LFR ifeq ($(CONFIG_QCA_WIFI_SDIO), 1) CDEFINES += -DCONFIG_HL_SUPPORT \ @@ -1111,8 +1112,8 @@ ifeq ($(CONFIG_PRIMA_WLAN_BTAMP),y) CDEFINES += -DWLAN_BTAMP_FEATURE endif -ifeq ($(CONFIG_PRIMA_WLAN_LFR),y) -CDEFINES += -DFEATURE_WLAN_LFR +ifeq ($(CONFIG_QCACLD_WLAN_LFR3),y) +CDEFINES += -DWLAN_FEATURE_ROAM_OFFLOAD endif ifeq ($(CONFIG_PRIMA_WLAN_OKC),y) @@ -25,8 +25,8 @@ config PRIMA_WLAN_BTAMP bool "Enable the Prima WLAN BT-AMP feature" default n -config PRIMA_WLAN_LFR - bool "Enable the Prima WLAN Legacy Fast Roaming feature" +config QCACLD_WLAN_LFR3 + bool "Enable the WLAN Legacy Fast Roaming feature Version 3" default n config PRIMA_WLAN_OKC |
