ath9k: make the regulatory override less intrusive - allow it to parse CTLs
authorFelix Fietkau <nbd@openwrt.org>
Tue, 19 Oct 2010 21:49:42 +0000 (21:49 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Tue, 19 Oct 2010 21:49:42 +0000 (21:49 +0000)
SVN-Revision: 23539

package/mac80211/patches/404-ath_regd_optional.patch

index cf4929e..9bda94b 100644 (file)
@@ -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