Allow the combination of 8 (AP + mesh) interfaces on radar channels

Tested with hostapd, 2 and 8 BSSIDs, 1 or 2 DFS channels, BW 20 MHz
TODO: test AP+mesh combination
TODO: test 40 MHz BW
---
This patch was done with quilt on Openwrt against compat-wireless
2014-11-04

Any feedback?

--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -723,6 +723,14 @@ static const struct ieee80211_iface_limi
                                 BIT(NL80211_IFTYPE_ADHOC) },
 };
 
+static const struct ieee80211_iface_limit if_dfs_limits_mvap[] = {
+       { .max = 8,     .types =
+#ifdef CONFIG_MAC80211_MESH
+                                BIT(NL80211_IFTYPE_MESH_POINT) |
+#endif
+                                BIT(NL80211_IFTYPE_AP) },
+};
+
 static const struct ieee80211_iface_combination if_comb[] = {
        {
                .limits = if_limits,
@@ -746,6 +754,16 @@ static const struct ieee80211_iface_comb
                .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),
+       },
+       {
+               .limits = if_dfs_limits_mvap,
+               .n_limits = ARRAY_SIZE(if_dfs_limits_mvap),
+               .max_interfaces = 8,
+               .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),
        }
-- 
quilt

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to