qcacld-3.0: Remove radar event if dfs_channel_switch is disable

Currently, DUT is able to detect the radar event
causing channel switch even if disable dfs channel
switch ini is set. Due to this, there is a chance
of unwanted CSA.

Adding check for disable dfs channel switch ini before
detecting the radar. If gDisableDFSChSwitch = 0 then
detect the radar event else ignore the radar event.

Change-Id: I977d93e47ee35026662d55a8e292c8790ddc7d31
CRs-Fixed: 2905871
This commit is contained in:
Deeksha Gupta
2021-03-11 16:22:42 +05:30
committato da snandini
parent 576283f245
commit 7cfc990823

Vedi File

@@ -51,6 +51,7 @@
#include "wlan_reg_services_api.h"
#include <wlan_scan_ucfg_api.h>
#include <wlan_scan_utils_api.h>
#include <wlan_mlme_ucfg_api.h>
/*----------------------------------------------------------------------------
* Preprocessor Definitions and Constants
@@ -846,6 +847,7 @@ QDF_STATUS wlansap_roam_callback(void *ctx,
mac_handle_t mac_handle;
struct mac_context *mac_ctx;
uint8_t intf;
bool dfs_disable_channel_switch = false;
if (QDF_IS_STATUS_ERROR(wlansap_context_get(sap_ctx)))
return QDF_STATUS_E_FAILURE;
@@ -951,6 +953,12 @@ QDF_STATUS wlansap_roam_callback(void *ctx,
sap_debug("sapdfs: Indicate eSAP_DFS_RADAR_DETECT to HDD");
sap_signal_hdd_event(sap_ctx, NULL, eSAP_DFS_RADAR_DETECT,
(void *) eSAP_STATUS_SUCCESS);
ucfg_mlme_get_dfs_disable_channel_switch(mac_ctx->psoc,
&dfs_disable_channel_switch);
if (dfs_disable_channel_switch)
goto EXIT;
mac_ctx->sap.SapDfsInfo.target_chan_freq =
sap_indicate_radar(sap_ctx);
@@ -1156,8 +1164,11 @@ QDF_STATUS wlansap_roam_callback(void *ctx,
break;
case eCSR_ROAM_RESULT_DFS_RADAR_FOUND_IND:
ucfg_mlme_get_dfs_disable_channel_switch(mac_ctx->psoc,
&dfs_disable_channel_switch);
if (!policy_mgr_get_dfs_master_dynamic_enabled(
mac_ctx->psoc, sap_ctx->sessionId))
mac_ctx->psoc, sap_ctx->sessionId) ||
dfs_disable_channel_switch)
break;
wlansap_roam_process_dfs_radar_found(mac_ctx, sap_ctx,
&qdf_ret_status);