From: "Luis R. Rodriguez" <lrodriguez@atheros.com>
To: <linville@tuxdriver.com>, <johannes@sipsolutions.net>
Cc: <easwar.krishnan@atheros.com>, <linux-wireless@vger.kernel.org>,
"Luis R. Rodriguez" <lrodriguez@atheros.com>, <stable@kernel.org>
Subject: [PATCH 2/7] cfg80211: fix allowing country IEs for WIPHY_FLAG_STRICT_REGULATORY
Date: Wed, 20 Oct 2010 10:18:54 -0700 [thread overview]
Message-ID: <1287595139-10761-3-git-send-email-lrodriguez@atheros.com> (raw)
In-Reply-To: <1287595139-10761-1-git-send-email-lrodriguez@atheros.com>
We should be enabling country IE hints for WIPHY_FLAG_STRICT_REGULATORY
even if we haven't yet recieved regulatory domain hint for the driver
if it needed one. Without this Country IEs are not passed on to drivers
that have set WIPHY_FLAG_STRICT_REGULATORY, today this is just all
Atheros chipset drivers: ath5k, ath9k, ar9170, carl9170.
This was part of the original design, however it was completely
overlooked...
Cc: Easwar Krishnan <easwar.krishnan@atheros.com>
Cc: stable@kernel.org
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
include/net/cfg80211.h | 15 ++++++++-------
net/wireless/reg.c | 1 +
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 2a7936d..352ebc5 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1321,13 +1321,14 @@ struct cfg80211_ops {
* initiator is %REGDOM_SET_BY_CORE).
* @WIPHY_FLAG_STRICT_REGULATORY: tells us the driver for this device will
* ignore regulatory domain settings until it gets its own regulatory
- * domain via its regulatory_hint(). After its gets its own regulatory
- * domain it will only allow further regulatory domain settings to
- * further enhance compliance. For example if channel 13 and 14 are
- * disabled by this regulatory domain no user regulatory domain can
- * enable these channels at a later time. This can be used for devices
- * which do not have calibration information gauranteed for frequencies
- * or settings outside of its regulatory domain.
+ * domain via its regulatory_hint() unless the regulatory hint is
+ * from a country IE. After its gets its own regulatory domain it will
+ * only allow further regulatory domain settings to further enhance
+ * compliance. For example if channel 13 and 14 are disabled by this
+ * regulatory domain no user regulatory domain can enable these channels
+ * at a later time. This can be used for devices which do not have
+ * calibration information gauranteed for frequencies or settings
+ * outside of its regulatory domain.
* @WIPHY_FLAG_DISABLE_BEACON_HINTS: enable this if your driver needs to ensure
* that passive scan flags and beaconing flags may not be lifted by
* cfg80211 due to regulatory beacon hints. For more information on beacon
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index b64596f..1bc8131 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -813,6 +813,7 @@ static bool ignore_reg_update(struct wiphy *wiphy,
* desired regulatory domain set
*/
if (wiphy->flags & WIPHY_FLAG_STRICT_REGULATORY && !wiphy->regd &&
+ initiator != NL80211_REGDOM_SET_BY_COUNTRY_IE &&
!is_world_regdom(last_request->alpha2))
return true;
return false;
--
1.7.0.4
next prev parent reply other threads:[~2010-10-20 17:19 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-20 17:18 [PATCH 0/7] cfg80211: few regulatory fixes and debugging enhancements Luis R. Rodriguez
2010-10-20 17:18 ` [PATCH 1/7] cfg80211: pass the reg hint initiator to helpers Luis R. Rodriguez
2010-10-20 17:18 ` Luis R. Rodriguez [this message]
2010-10-20 21:24 ` [PATCH 2/7] cfg80211: fix allowing country IEs for WIPHY_FLAG_STRICT_REGULATORY Gábor Stefanik
2010-10-20 17:18 ` [PATCH 3/7] cfg80211: fix disabling channels based on hints Luis R. Rodriguez
2010-10-20 17:18 ` [PATCH 4/7] cfg80211: add debug prints for when we ignore regulatory hints Luis R. Rodriguez
2010-10-20 17:18 ` [PATCH 5/7] cfg80211: add debug print when disabling a channel on a custom regd Luis R. Rodriguez
2010-10-20 17:18 ` [PATCH 6/7] cfg80211: add debug print when processing a channel Luis R. Rodriguez
2010-10-21 8:18 ` Senthil Balasubramanian
2010-10-21 9:02 ` Luis R. Rodriguez
2010-10-21 9:04 ` Luis R. Rodriguez
2010-10-20 17:18 ` [PATCH 7/7] cfg80211: prefix REG_DBG_PRINT() with cfg80211 Luis R. Rodriguez
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1287595139-10761-3-git-send-email-lrodriguez@atheros.com \
--to=lrodriguez@atheros.com \
--cc=easwar.krishnan@atheros.com \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=stable@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).