aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-10-19 21:49:42 +0000
committerFelix Fietkau <nbd@openwrt.org>2010-10-19 21:49:42 +0000
commitedb7be2e2baa2caa0070ca3a39360d4d96a7dab8 (patch)
tree3cc06009acd75efa0d9bacb02e922cac8e1a1382 /package/mac80211/patches
parentcb0e742bab1f0ebcf81e41048549a5ef80e5f7f3 (diff)
downloadupstream-edb7be2e2baa2caa0070ca3a39360d4d96a7dab8.tar.gz
upstream-edb7be2e2baa2caa0070ca3a39360d4d96a7dab8.tar.bz2
upstream-edb7be2e2baa2caa0070ca3a39360d4d96a7dab8.zip
ath9k: make the regulatory override less intrusive - allow it to parse CTLs
SVN-Revision: 23539
Diffstat (limited to 'package/mac80211/patches')
-rw-r--r--package/mac80211/patches/404-ath_regd_optional.patch92
1 files changed, 35 insertions, 57 deletions
diff --git a/package/mac80211/patches/404-ath_regd_optional.patch b/package/mac80211/patches/404-ath_regd_optional.patch
index cf4929e169..9bda94b037 100644
--- a/package/mac80211/patches/404-ath_regd_optional.patch
+++ b/package/mac80211/patches/404-ath_regd_optional.patch
@@ -1,68 +1,46 @@
--- a/drivers/net/wireless/ath/regd.c
+++ b/drivers/net/wireless/ath/regd.c
-@@ -18,6 +18,9 @@
- #include <net/cfg80211.h>
- #include <net/mac80211.h>
- #include "regd.h"
-+
-+#ifndef ATH_USER_REGD
-+
- #include "regd_common.h"
+@@ -185,6 +185,10 @@ ath_reg_apply_beaconing_flags(struct wip
+ u32 bandwidth = 0;
+ int r;
- /*
-@@ -587,3 +590,5 @@ u32 ath_regd_get_band_ctl(struct ath_reg
- }
- }
- EXPORT_SYMBOL(ath_regd_get_band_ctl);
-+
++#ifdef ATH_USER_REGD
++ return;
+#endif
---- a/drivers/net/wireless/ath/regd.h
-+++ b/drivers/net/wireless/ath/regd.h
-@@ -249,6 +249,41 @@ enum CountryCode {
- CTRY_BELGIUM2 = 5002
- };
++
+ for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+
+ if (!wiphy->bands[band])
+@@ -244,6 +248,10 @@ ath_reg_apply_active_scan_flags(struct w
+ u32 bandwidth = 0;
+ int r;
+#ifdef ATH_USER_REGD
++ return;
++#endif
+
-+static inline bool
-+ath_is_world_regd(struct ath_regulatory *reg)
-+{
-+ return true;
-+}
-+
-+static inline int
-+ath_regd_init(struct ath_regulatory *reg, struct wiphy *wiphy,
-+ int (*reg_notifier)(struct wiphy *wiphy,
-+ struct regulatory_request *request))
-+{
-+ return 0;
-+}
-+
-+
-+static inline u32
-+ath_regd_get_band_ctl(struct ath_regulatory *reg,
-+ enum ieee80211_band band)
-+{
-+ return SD_NO_CTL;
-+}
+ sband = wiphy->bands[IEEE80211_BAND_2GHZ];
+
+ /*
+@@ -291,6 +299,10 @@ static void ath_reg_apply_radar_flags(st
+ struct ieee80211_channel *ch;
+ unsigned int i;
+
++#ifdef ATH_USER_REGD
++ return;
++#endif
+
-+static inline int
-+ath_reg_notifier_apply(struct wiphy *wiphy,
-+ struct regulatory_request *request,
-+ struct ath_regulatory *reg)
-+{
+ if (!wiphy->bands[IEEE80211_BAND_5GHZ])
+ return;
+
+@@ -449,6 +461,10 @@ ath_regd_init_wiphy(struct ath_regulator
+ {
+ const struct ieee80211_regdomain *regd;
+
++#ifdef ATH_USER_REGD
+ return 0;
-+}
-+
-+
-+#else
++#endif
+
- bool ath_is_world_regd(struct ath_regulatory *reg);
- int ath_regd_init(struct ath_regulatory *reg, struct wiphy *wiphy,
- int (*reg_notifier)(struct wiphy *wiphy,
-@@ -260,3 +295,5 @@ int ath_reg_notifier_apply(struct wiphy
- struct ath_regulatory *reg);
+ wiphy->reg_notifier = reg_notifier;
+ wiphy->flags |= WIPHY_FLAG_STRICT_REGULATORY;
- #endif
-+
-+#endif