summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-10-19 21:49:42 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-10-19 21:49:42 +0000
commit30fbb0379ae505a1ab008eeb700c586cadfb081f (patch)
tree1123d6809999dcc58c568977cab23903d8c0a117
parent9f5360cac9f98f398ea65ea159148852a5dc020d (diff)
ath9k: make the regulatory override less intrusive - allow it to parse CTLs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23539 3c298f89-4303-0410-b956-a3cf2f4a3e73
-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