summaryrefslogtreecommitdiff
path: root/package/kernel/mac80211/patches/311-ath9k-do-not-limit-the-number-of-DFS-interfaces-to-1.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2016-01-22 00:54:34 +0000
committerFelix Fietkau <nbd@openwrt.org>2016-01-22 00:54:34 +0000
commitbaa618790ad359e99396a233d85e9ef1e5c917ca (patch)
tree4e443e160815cd49e90f6766ddf8ee4869384f10 /package/kernel/mac80211/patches/311-ath9k-do-not-limit-the-number-of-DFS-interfaces-to-1.patch
parent4c4709e5b1117255bd8360f565d82ddf87ffc5e8 (diff)
downloadmtk-20170518-baa618790ad359e99396a233d85e9ef1e5c917ca.zip
mtk-20170518-baa618790ad359e99396a233d85e9ef1e5c917ca.tar.gz
mtk-20170518-baa618790ad359e99396a233d85e9ef1e5c917ca.tar.bz2
ath9k: allow multiple virtual interfaces on DFS channels
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48448
Diffstat (limited to 'package/kernel/mac80211/patches/311-ath9k-do-not-limit-the-number-of-DFS-interfaces-to-1.patch')
-rw-r--r--package/kernel/mac80211/patches/311-ath9k-do-not-limit-the-number-of-DFS-interfaces-to-1.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/311-ath9k-do-not-limit-the-number-of-DFS-interfaces-to-1.patch b/package/kernel/mac80211/patches/311-ath9k-do-not-limit-the-number-of-DFS-interfaces-to-1.patch
new file mode 100644
index 0000000..070efa9
--- /dev/null
+++ b/package/kernel/mac80211/patches/311-ath9k-do-not-limit-the-number-of-DFS-interfaces-to-1.patch
@@ -0,0 +1,55 @@
+From: Felix Fietkau <nbd@openwrt.org>
+Date: Fri, 22 Jan 2016 01:05:56 +0100
+Subject: [PATCH] ath9k: do not limit the number of DFS interfaces to 1
+
+Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+---
+
+--- a/drivers/net/wireless/ath/ath9k/init.c
++++ b/drivers/net/wireless/ath/ath9k/init.c
+@@ -751,14 +751,6 @@ static const struct ieee80211_iface_comb
+
+ #endif /* CPTCFG_ATH9K_CHANNEL_CONTEXT */
+
+-static const struct ieee80211_iface_limit if_dfs_limits[] = {
+- { .max = 1, .types = BIT(NL80211_IFTYPE_AP) |
+-#ifdef CPTCFG_MAC80211_MESH
+- BIT(NL80211_IFTYPE_MESH_POINT) |
+-#endif
+- BIT(NL80211_IFTYPE_ADHOC) },
+-};
+-
+ static const struct ieee80211_iface_combination if_comb[] = {
+ {
+ .limits = if_limits,
+@@ -766,6 +758,11 @@ static const struct ieee80211_iface_comb
+ .max_interfaces = 2048,
+ .num_different_channels = 1,
+ .beacon_int_infra_match = true,
++#ifdef CPTCFG_ATH9K_DFS_CERTIFIED
++ .radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT) |
++ BIT(NL80211_CHAN_WIDTH_20) |
++ BIT(NL80211_CHAN_WIDTH_40),
++#endif
+ },
+ {
+ .limits = wds_limits,
+@@ -774,18 +771,6 @@ static const struct ieee80211_iface_comb
+ .num_different_channels = 1,
+ .beacon_int_infra_match = true,
+ },
+-#ifdef CPTCFG_ATH9K_DFS_CERTIFIED
+- {
+- .limits = if_dfs_limits,
+- .n_limits = ARRAY_SIZE(if_dfs_limits),
+- .max_interfaces = 1,
+- .num_different_channels = 1,
+- .beacon_int_infra_match = true,
+- .radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT) |
+- BIT(NL80211_CHAN_WIDTH_20) |
+- BIT(NL80211_CHAN_WIDTH_40),
+- }
+-#endif
+ };
+
+ #ifdef CPTCFG_ATH9K_CHANNEL_CONTEXT