qcacld-3.0: Process CSA IE only if CSA offload is not enabled

If CSA offload is enabled, FW send the CSA offload event for
the channel switch, so ignore the CSA IE check in beacon and
probe response frame processing.

Change-Id: I3f0d204317a4d26dc503c350307f4c144bf8672d
CRs-Fixed: 2060145
This commit is contained in:
Kiran Kumar Lokere 2017-06-13 18:23:48 -07:00 • committed by snandini
commit d0fad467ef
4 changed files with 20 additions and 2 deletions

View file

@ -222,7 +222,8 @@ lim_process_probe_rsp_frame(tpAniSirGlobal mac_ctx, uint8_t *rx_Packet_info,
(uint8_t)probe_rsp->channelNumber,
session_entry);
}
if (LIM_IS_STA_ROLE(session_entry)) {
if (LIM_IS_STA_ROLE(session_entry) &&
!wma_is_csa_offload_enabled()) {
if (probe_rsp->channelSwitchPresent) {
/*
* on receiving channel switch announcement

View file

@ -792,7 +792,7 @@ static void __sch_beacon_process_for_session(tpAniSirGlobal mac_ctx,
lim_update_sta_run_time_ht_switch_chnl_params(mac_ctx,
&bcn->HTInfo, bssIdx, session);
if (LIM_IS_STA_ROLE(session)
if ((LIM_IS_STA_ROLE(session) && !wma_is_csa_offload_enabled())
|| LIM_IS_IBSS_ROLE(session)) {
/* Channel Switch information element updated */
if (bcn->channelSwitchPresent) {

View file

@ -223,6 +223,7 @@ static inline QDF_STATUS wma_register_ndp_cb(QDF_STATUS (*pe_ndp_event_handler)
}
#endif /* WLAN_FEATURE_NAN_DATAPATH && !WLAN_FEATURE_NAN_CONVERGENCE */
bool wma_is_csa_offload_enabled(void);
bool wma_is_p2p_lo_capable(void);
QDF_STATUS wma_p2p_lo_start(struct sir_p2p_lo_start *params);
QDF_STATUS wma_p2p_lo_stop(u_int32_t vdev_id);

View file

@ -3829,6 +3829,22 @@ uint32_t wma_get_num_of_setbits_from_bitmask(uint32_t mask)
return num_of_setbits;
}
/**
* wma_is_csa_offload_enabled - checks fw CSA offload capability
*
* Return: true or false
*/
bool wma_is_csa_offload_enabled(void)
{
tp_wma_handle wma = cds_get_context(QDF_MODULE_ID_WMA);
if (!wma)
return false;
return WMI_SERVICE_IS_ENABLED(wma->wmi_service_bitmap,
WMI_SERVICE_CSA_OFFLOAD);
}
/**
* wma_config_debug_module_cmd - set debug log config
* @wmi_handle: wmi layer handle