[PATCH] wlan: Error handling while issuing roam offload scan req
Root cause:
Ramdump issue.
In case if session id does not exist for a given BSSID, Driver
should not issue a roam offload scan request.
Fix is to make sure driver issue roam offload scan request only
if valid session-id exist for a BSSID.
How to fix:
QCOM Patch.
CRs-Fixed: 2728005
RiskArea: WIFI
Change-Id: Ie94d605c93a31d0cd5c0c038287faa6b27d415bd
(cherry picked from commit 2026b5ad138a140c47fc724ea63b89b9ba9618fc)
(cherry picked from commit e5b967c9271b37346e822afabf86b0f2f501e8c0)
diff --git a/CORE/SME/src/rrm/sme_rrm.c b/CORE/SME/src/rrm/sme_rrm.c
old mode 100644
new mode 100755
index 9182640..0cb94af
--- a/CORE/SME/src/rrm/sme_rrm.c
+++ b/CORE/SME/src/rrm/sme_rrm.c
@@ -727,7 +727,7 @@
{
tCsrScanRequest scanRequest;
v_U32_t scanId = 0;
- tANI_U32 sessionId;
+ tANI_U32 sessionId = 0;
#if defined WLAN_VOWIFI_DEBUG
smsLog( pMac, LOGE, "Issue scan request " );
#endif
@@ -790,7 +790,13 @@
/* set requestType to full scan */
scanRequest.requestType = eCSR_SCAN_REQUEST_FULL_SCAN;
- csrRoamGetSessionIdFromBSSID( pMac, (tCsrBssid*)pSmeRrmContext->sessionBssId, &sessionId );
+ status = csrRoamGetSessionIdFromBSSID(pMac,
+ (tCsrBssid*)pSmeRrmContext->sessionBssId, &sessionId );
+ if (!HAL_STATUS_SUCCESS(status)) {
+ smsLog( pMac, LOGE, FL("sessionId not found for Offload scan req"));
+ return status;
+ }
+
status = sme_ScanRequest( pMac, (tANI_U8)sessionId, &scanRequest, &scanId, &sme_RrmScanRequestCallback, NULL );
if ( pSmeRrmContext->ssId.length )