qcacld-3.0: Send scan abort notification to Supplicant on band change
qcacld-2.0 to qcacld-3.0 propagation Current implementation does not handle to send a SCAN ABORT indication to upper layers, on a Band change when a scan is in progress Changes are made on SME layer by configuring a 'abortScanIndication' flag which is a part of the scan command, so that the necessary action is taken care based on the flag value. Change-Id: Iffe7e65dc1e8c7951ce3c4be3c21ef2103091d13 CRs-Fixed: 879520
This commit is contained in:
parent
491021c2a1
commit
b7595a383d
@ -186,7 +186,7 @@ typedef enum {
|
||||
* to upper layer or not
|
||||
*/
|
||||
typedef enum {
|
||||
eCSR_SCAN_ABORT_DEFAULT,
|
||||
eCSR_SCAN_ABORT_DEFAULT = 1,
|
||||
eCSR_SCAN_ABORT_DUE_TO_BAND_CHANGE, /* Scan abort due to band change */
|
||||
eCSR_SCAN_ABORT_SSID_ONLY
|
||||
} eCsrAbortReason;
|
||||
|
@ -377,7 +377,7 @@ typedef struct tagScanCmd {
|
||||
/* tCsrBGScanRequest bgScanRequest is no longer used */
|
||||
} u;
|
||||
/* This flag will be set while aborting the scan due to band change */
|
||||
bool abortScanDueToBandChange;
|
||||
eCsrAbortReason abort_scan_indication;
|
||||
qdf_mc_timer_t csr_scan_timer;
|
||||
} tScanCmd;
|
||||
|
||||
|
@ -4233,7 +4233,8 @@ bool csr_scan_complete(tpAniSirGlobal pMac, tSirSmeScanRsp *pScanRsp)
|
||||
fSuccess = (!csr_ll_is_list_empty(&pMac->scan.tempScanResults,
|
||||
LL_ACCESS_LOCK));
|
||||
}
|
||||
if (pCommand->u.scanCmd.abortScanDueToBandChange) {
|
||||
if (pCommand->u.scanCmd.abort_scan_indication &
|
||||
eCSR_SCAN_ABORT_DUE_TO_BAND_CHANGE) {
|
||||
/*
|
||||
* Scan aborted due to band change
|
||||
* The scan results need to be flushed
|
||||
@ -4246,7 +4247,6 @@ bool csr_scan_complete(tpAniSirGlobal pMac, tSirSmeScanRsp *pScanRsp)
|
||||
sms_log(pMac, LOG1,
|
||||
FL("11d_scan_done, flushing the scan results"));
|
||||
}
|
||||
pCommand->u.scanCmd.abortScanDueToBandChange = false;
|
||||
}
|
||||
csr_save_scan_results(pMac, pCommand->u.scanCmd.reason, sessionId);
|
||||
|
||||
@ -5695,6 +5695,10 @@ void csr_scan_call_callback(tpAniSirGlobal pMac, tSmeCmd *pCommand,
|
||||
eCsrScanStatus scanStatus)
|
||||
{
|
||||
if (pCommand->u.scanCmd.callback) {
|
||||
if (pCommand->u.scanCmd.abort_scan_indication) {
|
||||
sms_log(pMac, LOG1, FL("scanDone due to abort"));
|
||||
scanStatus = eCSR_SCAN_ABORT;
|
||||
}
|
||||
pCommand->u.scanCmd.callback(pMac, pCommand->u.scanCmd.pContext,
|
||||
pCommand->sessionId,
|
||||
pCommand->u.scanCmd.scanID,
|
||||
@ -6878,8 +6882,8 @@ QDF_STATUS csr_abort_scan_from_active_list(tpAniSirGlobal mac_ctx,
|
||||
(eCsrScanForSsid != cmd->u.scanCmd.reason))
|
||||
continue;
|
||||
if (abort_reason == eCSR_SCAN_ABORT_DUE_TO_BAND_CHANGE)
|
||||
cmd->u.scanCmd.abortScanDueToBandChange =
|
||||
true;
|
||||
cmd->u.scanCmd.abort_scan_indication =
|
||||
eCSR_SCAN_ABORT_DUE_TO_BAND_CHANGE;
|
||||
csr_send_scan_abort(mac_ctx, cmd->sessionId,
|
||||
cmd->u.scanCmd.scanID);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user