qcacld-3.0: Allow Ext Scan and EPNO scan beacons on PE queue

Allow beacon frames received from Ext Scan or EPNO scan through
the filter into PE queue.

Change-Id: I491875f0e48bd2f317402b416598fe6e940e02a1
CRs-Fixed: 2226231
This commit is contained in:
Vignesh Viswanathan 2018-04-11 19:01:59 +05:30 • committed by nshrivas
commit 48b7ed9b32

View file

@ -1256,6 +1256,35 @@ static QDF_STATUS pe_drop_pending_rx_mgmt_frames(tpAniSirGlobal mac_ctx,
return QDF_STATUS_SUCCESS;
}
/**
* pe_is_ext_scan_bcn - Check if the beacon is from Ext or EPNO scan
*
* @hdr: pointer to the 802.11 header of the frame
* @rx_pkt_info: pointer to the rx packet meta
*
* Checks if the beacon is from Ext Scan or EPNO scan
*
* Return: true or false
*/
#ifdef FEATURE_WLAN_EXTSCAN
static inline bool pe_is_ext_scan_bcn(tpSirMacMgmtHdr hdr,
uint8_t *rx_pkt_info)
{
if ((hdr->fc.subType == SIR_MAC_MGMT_BEACON) &&
(WMA_IS_EXTSCAN_SCAN_SRC(rx_pkt_info) ||
WMA_IS_EPNO_SCAN_SRC(rx_pkt_info)))
return true;
return false;
}
#else
static inline bool pe_is_ext_scan_bcn(tpSirMacMgmtHdr hdr,
uint8_t *rx_pkt_info)
{
return false;
}
#endif
/**
* pe_filter_drop_bcn_probe_frame - Apply filter on the received frame
*
@ -1280,6 +1309,9 @@ static bool pe_filter_bcn_probe_frame(tpAniSirGlobal mac_ctx,
tpSirMacCapabilityInfo bcn_caps;
tSirMacSSid bcn_ssid;
if (pe_is_ext_scan_bcn(hdr, rx_pkt_info))
return true;
filter = &mac_ctx->bcn_filter;
/*