aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ath/if_ath.c
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2011-08-08 16:22:42 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2011-08-08 16:22:42 +0000
commit8db87e40794dfde6de6db1db14820bfe3d7d010c (patch)
treebf1809a8640b9e4393c109b6ca08bac5a3942fd1 /sys/dev/ath/if_ath.c
parent6bd78ef4033efbab2b9123719e020ba57d11eabb (diff)
downloadsrc-8db87e40794dfde6de6db1db14820bfe3d7d010c.tar.gz
src-8db87e40794dfde6de6db1db14820bfe3d7d010c.zip
Introduce some more DFS related hooks, inspired both by local work
and the Atheros reference code. The radar detection code needs to know what the current DFS domain is. Since net80211 doesn't currently know this information, it's extracted from the HAL regulatory domain information. The specifics: * add a new ath_dfs API hook, ath_dfs_init_radar_filters(), which updates the radar filters whenever the regulatory domain changes. * add HAL_DFS_DOMAIN which describes the currently configured DFS domain . * add a new HAL internal variable which tracks the currently configured HAL DFS domain. * add a new HAL capability, HAL_CAP_DFS_DMN, which returns the currently configured HAL DFS domain setting. * update the HAL DFS domain setting whenever the channel setting is updated. Since this isn't currently used by any radar code, these should all be no-ops for existing users. Obtained from: Atheros Submitted by: KBC Networks, sibridge Approved by: re (kib, blanket)
Notes
Notes: svn path=/head/; revision=224716
Diffstat (limited to 'sys/dev/ath/if_ath.c')
-rw-r--r--sys/dev/ath/if_ath.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c
index 782b790a3a00..1208f1d44dbe 100644
--- a/sys/dev/ath/if_ath.c
+++ b/sys/dev/ath/if_ath.c
@@ -5031,6 +5031,13 @@ ath_setregdomain(struct ieee80211com *ic, struct ieee80211_regdomain *reg,
__func__, status);
return EINVAL; /* XXX */
}
+
+ /*
+ * Setting country code might change the DFS domain
+ * so initialize the DFS Radar filters
+ */
+ ath_dfs_init_radar_filters(sc);
+
return 0;
}