diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2017-02-06 01:27:40 -0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-02-06 01:27:40 -0800 |
| commit | 2ddeb0863b968b6ce058a41a8bc4909904760904 (patch) | |
| tree | cd9f3afc3f96fc1d0eb59422759a3ad92f0a3675 | |
| parent | ddcbce9b6ba2f118ba822a7cb1e6fef78b901fab (diff) | |
| parent | fc9be1ce6180cd23d541babc525c4a77f85054f2 (diff) | |
Merge "qcacld-2.0: Set burst duration when using short BI" into wlan-cld2.driver.lnx.1.0-dev
| -rw-r--r-- | CORE/MAC/inc/sirApi.h | 1 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c | 15 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/wma.c | 10 |
3 files changed, 23 insertions, 3 deletions
diff --git a/CORE/MAC/inc/sirApi.h b/CORE/MAC/inc/sirApi.h index 1e5acbf90b20..dcf95a9fd012 100644 --- a/CORE/MAC/inc/sirApi.h +++ b/CORE/MAC/inc/sirApi.h @@ -4580,6 +4580,7 @@ typedef struct sSirScanOffloadReq { tANI_U16 uIEFieldLen; tANI_U16 uIEFieldOffset; + uint32_t burst_scan_duration; uint32_t enable_scan_randomization; uint8_t mac_addr[VOS_MAC_ADDR_SIZE]; uint8_t mac_addr_mask[VOS_MAC_ADDR_SIZE]; diff --git a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c index 84a733d59034..5bd3baf325bb 100644 --- a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c +++ b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c @@ -82,6 +82,10 @@ #define DEFAULT_PASSIVE_MAX_CHANNEL_TIME 110 // in msecs #define CONV_MS_TO_US 1024 //conversion factor from ms to us + +#define BEACON_INTERVAL_THRESHOLD 50 /* in msecs */ +#define STA_BURST_SCAN_DURATION 120 /* in msecs */ + // SME REQ processing function templates static void __limProcessSmeStartReq(tpAniSirGlobal, tANI_U32 *); static tANI_BOOLEAN __limProcessSmeSysReadyInd(tpAniSirGlobal, tANI_U32 *); @@ -1315,7 +1319,16 @@ static eHalStatus limSendHalStartScanOffloadReq(tpAniSirGlobal pMac, pScanOffloadReq->min_rest_time= pScanReq->min_rest_time; pScanOffloadReq->idle_time= pScanReq->idle_time; - + for (i = 0; i < pMac->lim.maxBssId; i++) { + tpPESession session_entry = peFindSessionBySessionId(pMac,i); + if (session_entry && + (eLIM_MLM_LINK_ESTABLISHED_STATE == session_entry->limMlmState) && + (session_entry->beaconParams.beaconInterval + < BEACON_INTERVAL_THRESHOLD)) { + pScanOffloadReq->burst_scan_duration = STA_BURST_SCAN_DURATION; + break; + } + } /* for normal scan, the value for p2pScanType should be 0 always */ if (pScanReq->p2pSearch) diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index 698e823cbc8f..f961b489dc4c 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -10610,8 +10610,14 @@ VOS_STATUS wma_get_buf_start_scan_cmd(tp_wma_handle wma_handle, } if (wma_is_STA_active(wma_handle) || wma_is_P2P_CLI_active(wma_handle)) { - /* Typical background scan. Disable burst scan for now. */ - cmd->burst_duration = 0; + if (scan_req->burst_scan_duration) + cmd->burst_duration = + scan_req->burst_scan_duration; + else + /* Typical background scan. + * Disable burst scan for now. + */ + cmd->burst_duration = 0; break; } } while (0); |
