forked from freifunk-franken/firmware
Revert openwrt patch which caused too high tx powers
Since the reverted patch, device specific antenna gain is not set for some reason. Reverting the patch in question fixes this issue. THIS SHOULD BE ONLY CONSIDERD AS A TEMPORARY FIX UNTIL THE ISSUE IS FIXED PROPERLY! Fixes: #85 Signed-off-by: Fabian Bläse <fabian@blaese.de> Tested-by: Fabian Bläse <fabian@blaese.de> Tested-by: Christian Dresel <fff@chrisi01.de> Reviewed-by: Tim Niemeyer <tim@tn-x.org>
This commit is contained in:
parent
c7ffb50d3d
commit
748c8aec2a
|
@ -0,0 +1,173 @@
|
|||
From e1fb372bc2466a04fdf57d2f806e362931a43daf Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian@blaese.de>
|
||||
Date: Sat, 20 Jan 2018 02:33:59 +0100
|
||||
Subject: [PATCH] Revert "ath: do not apply broken power limits with
|
||||
ATH_USER_REGD"
|
||||
|
||||
This reverts commit a9728799bc41e68de4d50995bb4ad689784ef55e.
|
||||
This is a workaround to fix txpower calculation
|
||||
---
|
||||
.../mac80211/patches/402-ath_regd_optional.patch | 44 +++-------------------
|
||||
.../mac80211/patches/403-world_regd_fixup.patch | 4 +-
|
||||
.../patches/406-ath_relax_default_regd.patch | 8 ++--
|
||||
3 files changed, 12 insertions(+), 44 deletions(-)
|
||||
|
||||
diff --git a/package/kernel/mac80211/patches/402-ath_regd_optional.patch b/package/kernel/mac80211/patches/402-ath_regd_optional.patch
|
||||
index c8ede7f583..0d6d3dbdbd 100644
|
||||
--- a/package/kernel/mac80211/patches/402-ath_regd_optional.patch
|
||||
+++ b/package/kernel/mac80211/patches/402-ath_regd_optional.patch
|
||||
@@ -1,14 +1,6 @@
|
||||
--- a/drivers/net/wireless/ath/regd.c
|
||||
+++ b/drivers/net/wireless/ath/regd.c
|
||||
-@@ -24,6 +24,7 @@
|
||||
- #include "regd_common.h"
|
||||
-
|
||||
- static int __ath_regd_init(struct ath_regulatory *reg);
|
||||
-+static struct reg_dmn_pair_mapping *ath_get_regpair(int regdmn);
|
||||
-
|
||||
- /*
|
||||
- * This is a set of common rules used by our world regulatory domains.
|
||||
-@@ -116,6 +117,9 @@ static const struct ieee80211_regdomain
|
||||
+@@ -116,6 +116,9 @@ static const struct ieee80211_regdomain
|
||||
|
||||
static bool dynamic_country_user_possible(struct ath_regulatory *reg)
|
||||
{
|
||||
@@ -18,7 +10,7 @@
|
||||
if (IS_ENABLED(CPTCFG_ATH_REG_DYNAMIC_USER_CERT_TESTING))
|
||||
return true;
|
||||
|
||||
-@@ -188,6 +192,8 @@ static bool dynamic_country_user_possibl
|
||||
+@@ -188,6 +191,8 @@ static bool dynamic_country_user_possibl
|
||||
|
||||
static bool ath_reg_dyn_country_user_allow(struct ath_regulatory *reg)
|
||||
{
|
||||
@@ -27,7 +19,7 @@
|
||||
if (!IS_ENABLED(CPTCFG_ATH_REG_DYNAMIC_USER_REG_HINTS))
|
||||
return false;
|
||||
if (!dynamic_country_user_possible(reg))
|
||||
-@@ -341,6 +347,9 @@ ath_reg_apply_beaconing_flags(struct wip
|
||||
+@@ -341,6 +346,9 @@ ath_reg_apply_beaconing_flags(struct wip
|
||||
struct ieee80211_channel *ch;
|
||||
unsigned int i;
|
||||
|
||||
@@ -37,7 +29,7 @@
|
||||
for (band = 0; band < NUM_NL80211_BANDS; band++) {
|
||||
if (!wiphy->bands[band])
|
||||
continue;
|
||||
-@@ -374,6 +383,9 @@ ath_reg_apply_ir_flags(struct wiphy *wip
|
||||
+@@ -374,6 +382,9 @@ ath_reg_apply_ir_flags(struct wiphy *wip
|
||||
{
|
||||
struct ieee80211_supported_band *sband;
|
||||
|
||||
@@ -47,7 +39,7 @@
|
||||
sband = wiphy->bands[NL80211_BAND_2GHZ];
|
||||
if (!sband)
|
||||
return;
|
||||
-@@ -402,6 +414,9 @@ static void ath_reg_apply_radar_flags(st
|
||||
+@@ -402,6 +413,9 @@ static void ath_reg_apply_radar_flags(st
|
||||
struct ieee80211_channel *ch;
|
||||
unsigned int i;
|
||||
|
||||
@@ -57,19 +49,7 @@
|
||||
if (!wiphy->bands[NL80211_BAND_5GHZ])
|
||||
return;
|
||||
|
||||
-@@ -539,6 +554,11 @@ void ath_reg_notifier_apply(struct wiphy
|
||||
- ath_reg_dyn_country(wiphy, reg, request);
|
||||
- break;
|
||||
- }
|
||||
-+
|
||||
-+ /* Prevent broken CTLs from being applied */
|
||||
-+ if (IS_ENABLED(CPTCFG_ATH_USER_REGD) &&
|
||||
-+ reg->regpair != common->reg_world_copy.regpair)
|
||||
-+ reg->regpair = ath_get_regpair(WOR0_WORLD);
|
||||
- }
|
||||
- EXPORT_SYMBOL(ath_reg_notifier_apply);
|
||||
-
|
||||
-@@ -634,6 +654,10 @@ ath_regd_init_wiphy(struct ath_regulator
|
||||
+@@ -634,6 +648,10 @@ ath_regd_init_wiphy(struct ath_regulator
|
||||
const struct ieee80211_regdomain *regd;
|
||||
|
||||
wiphy->reg_notifier = reg_notifier;
|
||||
@@ -80,18 +60,6 @@
|
||||
wiphy->regulatory_flags |= REGULATORY_STRICT_REG |
|
||||
REGULATORY_CUSTOM_REG;
|
||||
|
||||
-@@ -762,10 +786,7 @@ ath_regd_init(struct ath_regulatory *reg
|
||||
- if (r)
|
||||
- return r;
|
||||
-
|
||||
-- if (ath_is_world_regd(reg))
|
||||
-- memcpy(&common->reg_world_copy, reg,
|
||||
-- sizeof(struct ath_regulatory));
|
||||
--
|
||||
-+ memcpy(&common->reg_world_copy, reg, sizeof(struct ath_regulatory));
|
||||
- ath_regd_init_wiphy(reg, wiphy, reg_notifier);
|
||||
-
|
||||
- return 0;
|
||||
--- a/drivers/net/wireless/ath/Kconfig
|
||||
+++ b/drivers/net/wireless/ath/Kconfig
|
||||
@@ -23,6 +23,9 @@ config WLAN_VENDOR_ATH
|
||||
diff --git a/package/kernel/mac80211/patches/403-world_regd_fixup.patch b/package/kernel/mac80211/patches/403-world_regd_fixup.patch
|
||||
index 2043083158..2b04309ce5 100644
|
||||
--- a/package/kernel/mac80211/patches/403-world_regd_fixup.patch
|
||||
+++ b/package/kernel/mac80211/patches/403-world_regd_fixup.patch
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/wireless/ath/regd.c
|
||||
+++ b/drivers/net/wireless/ath/regd.c
|
||||
-@@ -44,7 +44,8 @@ static struct reg_dmn_pair_mapping *ath_
|
||||
+@@ -43,7 +43,8 @@ static int __ath_regd_init(struct ath_re
|
||||
NL80211_RRF_NO_OFDM)
|
||||
|
||||
/* We allow IBSS on these on a case by case basis by regulatory domain */
|
||||
@@ -10,7 +10,7 @@
|
||||
NL80211_RRF_NO_IR)
|
||||
#define ATH9K_5GHZ_5470_5850 REG_RULE(5470-10, 5850+10, 80, 0, 30,\
|
||||
NL80211_RRF_NO_IR)
|
||||
-@@ -62,57 +63,56 @@ static struct reg_dmn_pair_mapping *ath_
|
||||
+@@ -61,57 +62,56 @@ static int __ath_regd_init(struct ath_re
|
||||
#define ATH9K_5GHZ_NO_MIDBAND ATH9K_5GHZ_5150_5350, \
|
||||
ATH9K_5GHZ_5725_5850
|
||||
|
||||
diff --git a/package/kernel/mac80211/patches/406-ath_relax_default_regd.patch b/package/kernel/mac80211/patches/406-ath_relax_default_regd.patch
|
||||
index 35b0f2b76e..b6190b9363 100644
|
||||
--- a/package/kernel/mac80211/patches/406-ath_relax_default_regd.patch
|
||||
+++ b/package/kernel/mac80211/patches/406-ath_relax_default_regd.patch
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/wireless/ath/regd.c
|
||||
+++ b/drivers/net/wireless/ath/regd.c
|
||||
-@@ -115,6 +115,16 @@ static const struct ieee80211_regdomain
|
||||
+@@ -114,6 +114,16 @@ static const struct ieee80211_regdomain
|
||||
)
|
||||
};
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
static bool dynamic_country_user_possible(struct ath_regulatory *reg)
|
||||
{
|
||||
if (IS_ENABLED(CPTCFG_ATH_USER_REGD))
|
||||
-@@ -123,6 +133,9 @@ static bool dynamic_country_user_possibl
|
||||
+@@ -122,6 +132,9 @@ static bool dynamic_country_user_possibl
|
||||
if (IS_ENABLED(CPTCFG_ATH_REG_DYNAMIC_USER_CERT_TESTING))
|
||||
return true;
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
switch (reg->country_code) {
|
||||
case CTRY_UNITED_STATES:
|
||||
case CTRY_JAPAN1:
|
||||
-@@ -208,11 +221,6 @@ static inline bool is_wwr_sku(u16 regd)
|
||||
+@@ -207,11 +220,6 @@ static inline bool is_wwr_sku(u16 regd)
|
||||
(regd == WORLD));
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
bool ath_is_world_regd(struct ath_regulatory *reg)
|
||||
{
|
||||
return is_wwr_sku(ath_regd_get_eepromRD(reg));
|
||||
-@@ -658,6 +666,9 @@ ath_regd_init_wiphy(struct ath_regulator
|
||||
+@@ -652,6 +660,9 @@ ath_regd_init_wiphy(struct ath_regulator
|
||||
if (IS_ENABLED(CPTCFG_ATH_USER_REGD))
|
||||
return 0;
|
||||
|
||||
--
|
||||
2.11.0
|
||||
|
Loading…
Reference in New Issue