qcacld-3.0: Avoid pkt drop in DFS CAC for SAP dual band mode

When dual band mode for SAP is enabled from UI, the packet
for 2G SAP will be dropped before dfs cac finishes.

Adjust channel check to avoid pkt drop in lim_handle80211_frames.
  1 non-sbs mode, bypass 2g channel packet
  2 sbs mode, bypass non dfs channel packet

Change-Id: Ib292fa3d6366fd7ea045480f61ce1890ac8c320a
CRs-Fixed: 2132883
Šī revīzija ir iekļauta:
Jingxiang Ge
2017-10-26 11:27:36 +08:00
revīziju iesūtīja snandini
vecāks 014096aad0
revīzija 6c9352f23f

Parādīt failu

@@ -898,6 +898,8 @@ lim_handle80211_frames(tpAniSirGlobal pMac, struct scheduler_msg *limMsg,
tpPESession psessionEntry = NULL;
uint8_t sessionId;
bool isFrmFt = false;
uint8_t channel;
bool is_hw_sbs_capable = false;
*pDeferMsg = false;
lim_get_b_dfrom_rx_packet(pMac, limMsg->bodyptr,
@@ -905,9 +907,15 @@ lim_handle80211_frames(tpAniSirGlobal pMac, struct scheduler_msg *limMsg,
pHdr = WMA_GET_RX_MAC_HEADER(pRxPacketInfo);
isFrmFt = WMA_GET_RX_FT_DONE(pRxPacketInfo);
channel = WMA_GET_RX_CH(pRxPacketInfo);
fc = pHdr->fc;
if (pMac->sap.SapDfsInfo.is_dfs_cac_timer_running) {
is_hw_sbs_capable =
policy_mgr_is_hw_sbs_capable(pMac->psoc);
if (IS_5G_CH(channel) &&
(!is_hw_sbs_capable ||
(is_hw_sbs_capable && wlan_reg_is_dfs_ch(pMac->pdev, channel))) &&
pMac->sap.SapDfsInfo.is_dfs_cac_timer_running) {
psessionEntry = pe_find_session_by_bssid(pMac,
pHdr->bssId, &sessionId);
if (psessionEntry &&