diff options
Diffstat (limited to 'package/kernel/mac80211/patches/337-ath-use-CTL-region-from-cfg80211-if-unset-in-EEPROM.patch')
-rw-r--r-- | package/kernel/mac80211/patches/337-ath-use-CTL-region-from-cfg80211-if-unset-in-EEPROM.patch | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/package/kernel/mac80211/patches/337-ath-use-CTL-region-from-cfg80211-if-unset-in-EEPROM.patch b/package/kernel/mac80211/patches/337-ath-use-CTL-region-from-cfg80211-if-unset-in-EEPROM.patch deleted file mode 100644 index f451912aea..0000000000 --- a/package/kernel/mac80211/patches/337-ath-use-CTL-region-from-cfg80211-if-unset-in-EEPROM.patch +++ /dev/null @@ -1,56 +0,0 @@ -From: Felix Fietkau <nbd@openwrt.org> -Date: Wed, 22 Oct 2014 15:21:22 +0200 -Subject: [PATCH] ath: use CTL region from cfg80211 if unset in EEPROM - -Many AP devices do not have the proper regulatory domain programmed in -EEPROM. Instead they expect the software to set the appropriate region. -For these devices, the country code defaults to US, and the driver uses -the US CTL tables as well. -On devices bought in Europe this can lead to tx power being set too high -on the band edges, even if the cfg80211 regdomain is set correctly. -Fix this issue by taking into account the DFS region, but only when the -EEPROM regdomain is set to default. - -Signed-off-by: Felix Fietkau <nbd@openwrt.org> ---- - ---- a/drivers/net/wireless/ath/ath.h -+++ b/drivers/net/wireless/ath/ath.h -@@ -80,6 +80,7 @@ struct reg_dmn_pair_mapping { - - struct ath_regulatory { - char alpha2[2]; -+ enum nl80211_dfs_regions region; - u16 country_code; - u16 max_power_level; - u16 current_rd; ---- a/drivers/net/wireless/ath/regd.c -+++ b/drivers/net/wireless/ath/regd.c -@@ -515,6 +515,7 @@ void ath_reg_notifier_apply(struct wiphy - if (!request) - return; - -+ reg->region = request->dfs_region; - switch (request->initiator) { - case NL80211_REGDOM_SET_BY_CORE: - /* -@@ -779,6 +780,19 @@ u32 ath_regd_get_band_ctl(struct ath_reg - return SD_NO_CTL; - } - -+ if (ath_regd_get_eepromRD(reg) == CTRY_DEFAULT) { -+ switch (reg->region) { -+ case NL80211_DFS_FCC: -+ return CTL_FCC; -+ case NL80211_DFS_ETSI: -+ return CTL_ETSI; -+ case NL80211_DFS_JP: -+ return CTL_MKK; -+ default: -+ break; -+ } -+ } -+ - switch (band) { - case IEEE80211_BAND_2GHZ: - return reg->regpair->reg_2ghz_ctl; |