diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-10-19 21:49:42 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2010-10-19 21:49:42 +0000 |
commit | edb7be2e2baa2caa0070ca3a39360d4d96a7dab8 (patch) | |
tree | 3cc06009acd75efa0d9bacb02e922cac8e1a1382 | |
parent | cb0e742bab1f0ebcf81e41048549a5ef80e5f7f3 (diff) | |
download | master-31e0f0ae-edb7be2e2baa2caa0070ca3a39360d4d96a7dab8.tar.gz master-31e0f0ae-edb7be2e2baa2caa0070ca3a39360d4d96a7dab8.tar.bz2 master-31e0f0ae-edb7be2e2baa2caa0070ca3a39360d4d96a7dab8.zip |
ath9k: make the regulatory override less intrusive - allow it to parse CTLs
SVN-Revision: 23539
-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 |