diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-10-19 21:49:42 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-10-19 21:49:42 +0000 |
commit | 30fbb0379ae505a1ab008eeb700c586cadfb081f (patch) | |
tree | 1123d6809999dcc58c568977cab23903d8c0a117 /package/mac80211 | |
parent | 9f5360cac9f98f398ea65ea159148852a5dc020d (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
Diffstat (limited to 'package/mac80211')
-rw-r--r-- | package/mac80211/patches/404-ath_regd_optional.patch | 92 |
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 |