aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-02-08 12:36:25 +0000
committerFelix Fietkau <nbd@openwrt.org>2011-02-08 12:36:25 +0000
commit588872e19a136dbf6a49204c71a5a722c94a97ac (patch)
tree4cc46b47c9a6a6adcac4ab295e3b08d41c1a3240 /package
parentb353e249d54bfc4060c7159745965f5cbc26d6fd (diff)
downloadupstream-588872e19a136dbf6a49204c71a5a722c94a97ac.tar.gz
upstream-588872e19a136dbf6a49204c71a5a722c94a97ac.tar.bz2
upstream-588872e19a136dbf6a49204c71a5a722c94a97ac.zip
ath: fix world regulatory domain fix-up so that all regulatory rules are processed
r24503 (trunk) and r24505 (backfire) revised the regulatory rules used for the ath drivers' world regulatory domains in the 5GHz band by opening up channels 36, 40, 44, and 48 to being used without the *_PASSIVE_SCAN and *_NO_IBSS flags set. This was done by breaking ATH9K_5GHZ_5150_5350 into two REG_RULES. The various struct ieee80211_regdomains that reference these rules in their reg_rules fields need to have their n_reg_rules fields updated accordingly. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25418 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r--package/mac80211/patches/405-world_regd_fixup.patch72
1 files changed, 72 insertions, 0 deletions
diff --git a/package/mac80211/patches/405-world_regd_fixup.patch b/package/mac80211/patches/405-world_regd_fixup.patch
index df47225cff..48ca03f35a 100644
--- a/package/mac80211/patches/405-world_regd_fixup.patch
+++ b/package/mac80211/patches/405-world_regd_fixup.patch
@@ -10,3 +10,75 @@
NL80211_RRF_PASSIVE_SCAN | NL80211_RRF_NO_IBSS)
#define ATH9K_5GHZ_5470_5850 REG_RULE(5470-10, 5850+10, 40, 0, 30,\
NL80211_RRF_PASSIVE_SCAN | NL80211_RRF_NO_IBSS)
+@@ -55,57 +56,56 @@
+ #define ATH9K_5GHZ_NO_MIDBAND ATH9K_5GHZ_5150_5350, \
+ ATH9K_5GHZ_5725_5850
+
++#define REGD_RULES(...) \
++ .reg_rules = { __VA_ARGS__ }, \
++ .n_reg_rules = ARRAY_SIZE(((struct ieee80211_reg_rule[]) { __VA_ARGS__ }))
++
+ /* Can be used for:
+ * 0x60, 0x61, 0x62 */
+ static const struct ieee80211_regdomain ath_world_regdom_60_61_62 = {
+- .n_reg_rules = 5,
+ .alpha2 = "99",
+- .reg_rules = {
++ REGD_RULES(
+ ATH9K_2GHZ_ALL,
+ ATH9K_5GHZ_ALL,
+- }
++ )
+ };
+
+ /* Can be used by 0x63 and 0x65 */
+ static const struct ieee80211_regdomain ath_world_regdom_63_65 = {
+- .n_reg_rules = 4,
+ .alpha2 = "99",
+- .reg_rules = {
++ REGD_RULES(
+ ATH9K_2GHZ_CH01_11,
+ ATH9K_2GHZ_CH12_13,
+ ATH9K_5GHZ_NO_MIDBAND,
+- }
++ )
+ };
+
+ /* Can be used by 0x64 only */
+ static const struct ieee80211_regdomain ath_world_regdom_64 = {
+- .n_reg_rules = 3,
+ .alpha2 = "99",
+- .reg_rules = {
++ REGD_RULES(
+ ATH9K_2GHZ_CH01_11,
+ ATH9K_5GHZ_NO_MIDBAND,
+- }
++ )
+ };
+
+ /* Can be used by 0x66 and 0x69 */
+ static const struct ieee80211_regdomain ath_world_regdom_66_69 = {
+- .n_reg_rules = 3,
+ .alpha2 = "99",
+- .reg_rules = {
++ REGD_RULES(
+ ATH9K_2GHZ_CH01_11,
+ ATH9K_5GHZ_ALL,
+- }
++ )
+ };
+
+ /* Can be used by 0x67, 0x6A and 0x68 */
+ static const struct ieee80211_regdomain ath_world_regdom_67_68_6A = {
+- .n_reg_rules = 4,
+ .alpha2 = "99",
+- .reg_rules = {
++ REGD_RULES(
+ ATH9K_2GHZ_CH01_11,
+ ATH9K_2GHZ_CH12_13,
+ ATH9K_5GHZ_ALL,
+- }
++ )
+ };
+
+ static inline bool is_wwr_sku(u16 regd)