From edb7be2e2baa2caa0070ca3a39360d4d96a7dab8 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 19 Oct 2010 21:49:42 +0000 Subject: [PATCH] ath9k: make the regulatory override less intrusive - allow it to parse CTLs SVN-Revision: 23539 --- .../patches/404-ath_regd_optional.patch | 92 +++++++------------ 1 file 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 cf4929e169e..9bda94b0371 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 - #include - #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 -- 2.30.2