From c0794a0ac11e533fff628843d044c322c8f72e26 Mon Sep 17 00:00:00 2001 From: Rakesh Sunki Date: Mon, 17 Mar 2014 19:59:28 -0700 Subject: qcacld: Fix Sessionid mismatch in DFS commands Fix session ID mismatch between SME and PE during STA+AP single channel concurrency mode operating on DFS channel. BSSID is passed from SAP context as part of all DFS commands from SAP and the respective session entry in PE is identified using BSSID rather than using session ID. Change-Id: I280ca07fef8d21801262a6b96054971a7a78b0d3 CRs-Fixed: 624973 --- CORE/SAP/src/sapModule.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'CORE/SAP/src/sapModule.c') diff --git a/CORE/SAP/src/sapModule.c b/CORE/SAP/src/sapModule.c index 440ec1485146..87ac5ac99663 100644 --- a/CORE/SAP/src/sapModule.c +++ b/CORE/SAP/src/sapModule.c @@ -2429,8 +2429,9 @@ WLANSAP_ChannelChangeRequest(v_PVOID_t pSapCtx, tANI_U8 tArgetChannel) return VOS_STATUS_E_FAULT; } - halStatus = sme_RoamChannelChangeReq( hHal, sapContext->sessionId, tArgetChannel, - sapConvertSapPhyModeToCsrPhyMode(sapContext->csrRoamProfile.phyMode)); + halStatus = sme_RoamChannelChangeReq( hHal, sapContext->bssid, + tArgetChannel, + sapConvertSapPhyModeToCsrPhyMode(sapContext->csrRoamProfile.phyMode) ); if (halStatus == eHAL_STATUS_SUCCESS) { @@ -2495,7 +2496,7 @@ VOS_STATUS WLANSAP_StartBeaconReq(v_PVOID_t pSapCtx) /* CAC Wait done without any Radar Detection */ dfsCacWaitStatus = VOS_TRUE; halStatus = sme_RoamStartBeaconReq( hHal, - sapContext->sessionId, dfsCacWaitStatus); + sapContext->bssid, dfsCacWaitStatus); if (halStatus == eHAL_STATUS_SUCCESS) { return VOS_STATUS_SUCCESS; @@ -2549,9 +2550,11 @@ WLANSAP_DfsSendCSAIeRequest(v_PVOID_t pSapCtx) return VOS_STATUS_E_FAULT; } - halStatus = sme_RoamCsaIeRequest(hHal, sapContext->sessionId, + halStatus = sme_RoamCsaIeRequest(hHal, + sapContext->bssid, sapContext->SapDfsInfo.target_channel, sapContext->SapDfsInfo.csaIERequired); + if (halStatus == eHAL_STATUS_SUCCESS) { return VOS_STATUS_SUCCESS; -- cgit v1.2.3