Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 10b1959c authored by Deeksha Gupta's avatar Deeksha Gupta Committed by snandini
Browse files

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
parent 6d5575e8
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -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
@@ -844,6 +845,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;
@@ -961,6 +963,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);

@@ -1172,8 +1180,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);