Răsfoiți Sursa

Merge "qca-wifi-oss: Enable STA DFS in Host and F/W"

Linux Build Service Account 4 ani în urmă
părinte
comite
2bf45c908f
1 a modificat fișierele cu 16 adăugiri și 0 ștergeri
  1. 16 0
      umac/dfs/dispatcher/src/dfs_postnol_ucfg.c

+ 16 - 0
umac/dfs/dispatcher/src/dfs_postnol_ucfg.c

@@ -291,6 +291,7 @@ void tgt_dfs_complete_deferred_tasks(struct wlan_objmgr_pdev *pdev)
 void tgt_dfs_enable_stadfs(struct wlan_objmgr_pdev *pdev, bool val)
 {
 	struct wlan_dfs *dfs;
+	uint32_t dfs_reg = 0;
 
 	dfs = wlan_pdev_get_dfs_obj(pdev);
 	if (!dfs) {
@@ -298,6 +299,21 @@ void tgt_dfs_enable_stadfs(struct wlan_objmgr_pdev *pdev, bool val)
 		return;
 	}
 
+	if (val == dfs->dfs_is_stadfs_enabled) {
+	    dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS,
+		    "STA DFS enable already set to %d", val);
+	    return;
+	}
+
+	wlan_reg_get_dfs_region(pdev, &dfs_reg);
+
+	if ((dfs_reg != DFS_ETSI_DOMAIN) && val) {
+	    dfs_err(dfs, WLAN_DEBUG_DFS_ALWAYS,
+		    "Cannot enable STA DFS on non ETSI Domain %d", dfs_reg);
+	    dfs->dfs_is_stadfs_enabled = 0;
+	    return;
+	}
+
 	dfs->dfs_is_stadfs_enabled = val;
 }