a8f63a0717
This updates mac80211 to backprots-4.14-rc2. This was compile and runtime tested with ath9k, ath10k and b43 with multiple stations and ieee80211w and in different scenarios by many other people. To create the backports-4.14-rc2-1.tar.xz use this repository: https://git.kernel.org/pub/scm/linux/kernel/git/backports/backports.git from tag v4.14-rc2-1 Then run this: ./gentree.py --git-revision v4.14-rc2 --clean <path to linux repo> ../backports-4.14-rc2-1 This also adapts the ath10k-ct and mt76 driver to the changed cfg80211 APIs and syncs the nl80211.h file in iw with the new version from backports-4.14-rc2. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
51 lines
1.3 KiB
Diff
51 lines
1.3 KiB
Diff
--- a/drivers/net/wireless/ath/regd.c
|
|
+++ b/drivers/net/wireless/ath/regd.c
|
|
@@ -115,6 +115,16 @@ static const struct ieee80211_regdomain
|
|
)
|
|
};
|
|
|
|
+static u16 ath_regd_get_eepromRD(struct ath_regulatory *reg)
|
|
+{
|
|
+ return reg->current_rd & ~WORLDWIDE_ROAMING_FLAG;
|
|
+}
|
|
+
|
|
+static bool is_default_regd(struct ath_regulatory *reg)
|
|
+{
|
|
+ return ath_regd_get_eepromRD(reg) == CTRY_DEFAULT;
|
|
+}
|
|
+
|
|
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
|
|
if (IS_ENABLED(CPTCFG_ATH_REG_DYNAMIC_USER_CERT_TESTING))
|
|
return true;
|
|
|
|
+ if (is_default_regd(reg))
|
|
+ return true;
|
|
+
|
|
switch (reg->country_code) {
|
|
case CTRY_UNITED_STATES:
|
|
case CTRY_JAPAN1:
|
|
@@ -208,11 +221,6 @@ static inline bool is_wwr_sku(u16 regd)
|
|
(regd == WORLD));
|
|
}
|
|
|
|
-static u16 ath_regd_get_eepromRD(struct ath_regulatory *reg)
|
|
-{
|
|
- return reg->current_rd & ~WORLDWIDE_ROAMING_FLAG;
|
|
-}
|
|
-
|
|
bool ath_is_world_regd(struct ath_regulatory *reg)
|
|
{
|
|
return is_wwr_sku(ath_regd_get_eepromRD(reg));
|
|
@@ -663,6 +671,9 @@ ath_regd_init_wiphy(struct ath_regulator
|
|
if (IS_ENABLED(CPTCFG_ATH_USER_REGD))
|
|
return 0;
|
|
|
|
+ if (is_default_regd(reg))
|
|
+ return 0;
|
|
+
|
|
wiphy->regulatory_flags |= REGULATORY_STRICT_REG |
|
|
REGULATORY_CUSTOM_REG;
|
|
|