wlan: Fix for SAP start failure after GO turnoff.
When GO starts check if GO/SAP already exists if yes
allow GO session only if session is not connected
state.
CRs-fixed: 449601
Change-Id: I65f920b48bdca6810320a2fb7a5d376512ebcaef
diff --git a/CORE/SME/src/csr/csrUtil.c b/CORE/SME/src/csr/csrUtil.c
index 7e27aac..b8ad98e 100644
--- a/CORE/SME/src/csr/csrUtil.c
+++ b/CORE/SME/src/csr/csrUtil.c
@@ -2817,15 +2817,17 @@
break;
case VOS_STA_SAP_MODE:
- if(pMac->roam.roamSession[sessionId].bssParams.bssPersona
- == VOS_STA_SAP_MODE)
+ if((pMac->roam.roamSession[sessionId].bssParams.bssPersona
+ == VOS_STA_SAP_MODE)&&
+ (pMac->roam.roamSession[sessionId].connectState != eCSR_ASSOC_STATE_TYPE_NOT_CONNECTED))
{
smsLog(pMac, LOGE, FL(" ****SoftAP mode already exists ****\n"));
return eHAL_STATUS_FAILURE;
}
- else if(pMac->roam.roamSession[sessionId].bssParams.bssPersona
- == VOS_P2P_GO_MODE)
+ else if((pMac->roam.roamSession[sessionId].bssParams.bssPersona
+ == VOS_P2P_GO_MODE) &&
+ (pMac->roam.roamSession[sessionId].connectState != eCSR_ASSOC_STATE_TYPE_NOT_CONNECTED))
{
smsLog(pMac, LOGE, FL(" ****Cannot start Multiple Beaconing Role ****\n"));
return eHAL_STATUS_FAILURE;
@@ -2843,14 +2845,16 @@
break;
case VOS_P2P_GO_MODE:
- if(pMac->roam.roamSession[sessionId].bssParams.bssPersona
- == VOS_P2P_GO_MODE)
+ if((pMac->roam.roamSession[sessionId].bssParams.bssPersona
+ == VOS_P2P_GO_MODE) &&
+ (pMac->roam.roamSession[sessionId].connectState != eCSR_ASSOC_STATE_TYPE_NOT_CONNECTED))
{
smsLog(pMac, LOGE, FL(" ****P2P GO mode already exists ****\n"));
return eHAL_STATUS_FAILURE;
}
- else if(pMac->roam.roamSession[sessionId].bssParams.bssPersona
- == VOS_STA_SAP_MODE)
+ else if((pMac->roam.roamSession[sessionId].bssParams.bssPersona
+ == VOS_STA_SAP_MODE) &&
+ (pMac->roam.roamSession[sessionId].connectState != eCSR_ASSOC_STATE_TYPE_NOT_CONNECTED))
{
smsLog(pMac, LOGE, FL(" ****Cannot start Multiple Beaconing Role ****\n"));
return eHAL_STATUS_FAILURE;