Browse Source

qcacmn: Fix 2GHz association failure

Problem:
When a STA vap in repeater AP starts scan it checks for
is_cac_in_progress variable. If this variable is set true, then
STA does not scan. is_cac_in_progress is set true/false when dfs
is not NULL. Since DFS is NULL for 2G radio, is_cac_in_progress
has some random number and hence scan is cancelled by the HOST.

Solution:
Initialize is_cac_in_progress to false in
dfs_scan_serialization_comp_info_cb(). Set this variable to true
if dfs is not NULL and AP is performing CAC.

Change-Id: I3e04bfaf05001f7f76f67605fb2c6d35c3113683
CRs-Fixed: 2166300
Shashikala Prabhu 7 years ago
parent
commit
6c3778275a
1 changed files with 3 additions and 3 deletions
  1. 3 3
      umac/dfs/dispatcher/src/wlan_dfs_init_deinit_api.c

+ 3 - 3
umac/dfs/dispatcher/src/wlan_dfs_init_deinit_api.c

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2018 The Linux Foundation. All rights reserved.
  *
  *
  * Permission to use, copy, modify, and/or distribute this software for
@@ -256,6 +256,8 @@ static void dfs_scan_serialization_comp_info_cb(
 		return;
 	}
 
+	comp_info->scan_info.is_cac_in_progress = false;
+
 	dfs = wlan_pdev_get_dfs_obj(pdev);
 	if (!dfs) {
 		dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS,  "dfs is NULL");
@@ -264,8 +266,6 @@ static void dfs_scan_serialization_comp_info_cb(
 
 	if (dfs_is_ap_cac_timer_running(dfs))
 		comp_info->scan_info.is_cac_in_progress = true;
-	else
-		comp_info->scan_info.is_cac_in_progress = false;
 }
 
 QDF_STATUS wifi_dfs_psoc_enable(struct wlan_objmgr_psoc *psoc)