summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CORE/MAC/src/pe/lim/limAssocUtils.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/CORE/MAC/src/pe/lim/limAssocUtils.c b/CORE/MAC/src/pe/lim/limAssocUtils.c
index 1e1843f1e5f4..1f18d9a5b303 100644
--- a/CORE/MAC/src/pe/lim/limAssocUtils.c
+++ b/CORE/MAC/src/pe/lim/limAssocUtils.c
@@ -2574,6 +2574,7 @@ limAddSta(
pPeerNode = limIbssPeerFind(pMac, *pStaAddr);
if (!pPeerNode) {
limLog( pMac, LOGP, FL("Can't find IBSS peer node for ADD_STA"));
+ vos_mem_free(pAddStaParams);
return eSIR_HAL_STA_DOES_NOT_EXIST;
}
@@ -3764,7 +3765,7 @@ tSirRetStatus limStaSendAddBss( tpAniSirGlobal pMac, tpSirAssocRsp pAssocRsp,
{
tSirMsgQ msgQ;
tpAddBssParams pAddBssParams = NULL;
- tANI_U32 retCode;
+ tSirRetStatus retCode = eSIR_SUCCESS;
tANI_U8 i;
tpDphHashNode pStaDs = NULL;
tANI_U8 chanWidthSupp = 0;
@@ -3963,7 +3964,8 @@ tSirRetStatus limStaSendAddBss( tpAniSirGlobal pMac, tpSirAssocRsp pAssocRsp,
PELOGE(limLog(pMac, LOGE, FL("Couldn't get assoc id for "
"MAC ADDR: " MAC_ADDRESS_STR),
MAC_ADDR_ARRAY(pAddBssParams->staContext.staMac));)
- return eSIR_FAILURE;
+ retCode = eSIR_FAILURE;
+ goto returnFailure;
}
if(!pMac->psOffloadEnabled)
@@ -4288,7 +4290,6 @@ tSirRetStatus limStaSendAddBss( tpAniSirGlobal pMac, tpSirAssocRsp pAssocRsp,
if( eSIR_SUCCESS != retCode)
{
SET_LIM_PROCESS_DEFD_MESGS(pMac, true);
- vos_mem_free(pAddBssParams);
limLog( pMac, LOGE, FL("Posting ADD_BSS_REQ to HAL failed, reason=%X"),
retCode );
goto returnFailure;
@@ -4298,6 +4299,8 @@ tSirRetStatus limStaSendAddBss( tpAniSirGlobal pMac, tpSirAssocRsp pAssocRsp,
return retCode;
returnFailure:
+ if (pAddBssParams != NULL)
+ vos_mem_free(pAddBssParams);
// Clean-up will be done by the caller...
return retCode;
}