summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrashanth Bhatta <bhattap@qca.qualcomm.com>2014-03-17 13:29:16 -0700
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-03-19 13:16:51 -0700
commit1d3edffc2cc42d94d185059fb6b277f8a99df770 (patch)
tree15e6429341cf24d3de3198d513a8d0a469b9c5d1
parent0fc096f7d1f8cd68a6cd40f8264eac01f693c2be (diff)
qcacld: hdd: Update session ID in HDD for SAP mode
Since SAP module opens the SME session ID, session ID in HDD context may be uninitialized. Most of the IOCTL for SAP mode use session ID in HDD context. In standalone SAP mode, if ACS is enabled then SAP module opens a new session. IOCTL in SAP mode works if ACS is not enabled because of the initialized session ID in HDD when driver is brought-up. Update the HDD session ID in SAP mode when START_BSS event is posted from SAP to HDD module. This way HDD and SAP can be in sync w.r.t session ID. Change-Id: I5f9d92c85d1e138a7618c042b5453a8d80812d60 CRs-fixed: 629983
-rw-r--r--CORE/HDD/src/wlan_hdd_hostapd.c2
-rw-r--r--CORE/SAP/inc/sapApi.h1
-rw-r--r--CORE/SAP/src/sapFsm.c2
3 files changed, 5 insertions, 0 deletions
diff --git a/CORE/HDD/src/wlan_hdd_hostapd.c b/CORE/HDD/src/wlan_hdd_hostapd.c
index a5bddb0fb1c9..6461d8bb2be0 100644
--- a/CORE/HDD/src/wlan_hdd_hostapd.c
+++ b/CORE/HDD/src/wlan_hdd_hostapd.c
@@ -525,6 +525,8 @@ VOS_STATUS hdd_hostapd_SAPEventCB( tpSap_Event pSapEvent, v_PVOID_t usrDataForCa
else
{
pHddApCtx->uBCStaId = pSapEvent->sapevt.sapStartBssCompleteEvent.staId;
+ pHostapdAdapter->sessionId =
+ pSapEvent->sapevt.sapStartBssCompleteEvent.sessionId;
//@@@ need wep logic here to set privacy bit
hdd_softap_Register_BC_STA(pHostapdAdapter, pHddApCtx->uPrivacy);
}
diff --git a/CORE/SAP/inc/sapApi.h b/CORE/SAP/inc/sapApi.h
index 0f7c398682a7..45795776aa9f 100644
--- a/CORE/SAP/inc/sapApi.h
+++ b/CORE/SAP/inc/sapApi.h
@@ -248,6 +248,7 @@ typedef struct sap_StartBssCompleteEvent_s {
v_U8_t status;
v_U8_t operatingChannel;
v_U16_t staId; //self StaID
+ v_U8_t sessionId; /* SoftAP SME session ID */
} tSap_StartBssCompleteEvent;
typedef struct sap_StopBssCompleteEvent_s {
diff --git a/CORE/SAP/src/sapFsm.c b/CORE/SAP/src/sapFsm.c
index 4f5f1c0be286..65340893c84c 100644
--- a/CORE/SAP/src/sapFsm.c
+++ b/CORE/SAP/src/sapFsm.c
@@ -682,6 +682,8 @@ sapSignalHDDevent
else
sapApAppEvent.sapevt.sapStartBssCompleteEvent.staId = 0;
sapApAppEvent.sapevt.sapStartBssCompleteEvent.operatingChannel = (v_U8_t)sapContext->channel;
+ sapApAppEvent.sapevt.sapStartBssCompleteEvent.sessionId =
+ sapContext->sessionId;
break;
case eSAP_STOP_BSS_EVENT: