From: Johannes Berg <johannes@sipsolutions.net>
To: "Luis R. Rodriguez" <lrodriguez@atheros.com>
Cc: linville@tuxdriver.com, linux-wireless@vger.kernel.org
Subject: Re: [PATCH 02/13] cfg80211: add option for wiphys to disregard country IEs
Date: Fri, 16 Jan 2009 10:17:12 +0100 [thread overview]
Message-ID: <1232097432.3854.15.camel@johannes> (raw)
In-Reply-To: <1232064746-17134-3-git-send-email-lrodriguez@atheros.com>
[-- Attachment #1: Type: text/plain, Size: 3423 bytes --]
On Thu, 2009-01-15 at 16:12 -0800, Luis R. Rodriguez wrote:
> Country IEs can be disregarded based on regulatory policy by
> a driver. This is only possible, of course, if the driver already
> has its own regulatory domain.
Can you say why? This doesn't seem useful to me.
> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
> ---
> include/net/wireless.h | 4 ++++
> net/wireless/reg.c | 19 +++++++++++++++++--
> 2 files changed, 21 insertions(+), 2 deletions(-)
>
> diff --git a/include/net/wireless.h b/include/net/wireless.h
> index 9e73aae..ea89958 100644
> --- a/include/net/wireless.h
> +++ b/include/net/wireless.h
> @@ -181,6 +181,9 @@ struct ieee80211_supported_band {
> * struct wiphy - wireless hardware description
> * @idx: the wiphy index assigned to this item
> * @class_dev: the class device representing /sys/class/ieee80211/<wiphy-name>
> + * @ignore_country_ies: tells us the wireless core should ignore country IEs
> + * received by itself or by other wireless drivers. This will only
> + * apply if the driver has provided a regulatory_hint()
> * @fw_handles_regulatory: tells us the firmware for this device
> * has its own regulatory solution and cannot identify the
> * ISO / IEC 3166 alpha2 it belongs to. When this is enabled
> @@ -202,6 +205,7 @@ struct wiphy {
> u16 interface_modes;
>
> bool fw_handles_regulatory;
> + bool ignore_country_ies;
>
> /* If multiple wiphys are registered and you're handed e.g.
> * a regular netdev with assigned ieee80211_ptr, you won't
> diff --git a/net/wireless/reg.c b/net/wireless/reg.c
> index ec8b3d9..01da946 100644
> --- a/net/wireless/reg.c
> +++ b/net/wireless/reg.c
> @@ -782,6 +782,20 @@ static u32 map_regdom_flags(u32 rd_flags)
> return channel_flags;
> }
>
> +/* Follow the driver's regulatory domain if a driver always prefers
> + * that. If no preference is specified we follow the driver's regulatory
> + * domain unless a country IE has been processed */
> +static int reg_follow_driver_regd(struct wiphy *wiphy)
> +{
> + if (!wiphy->regd)
> + return false;
> + if (wiphy->ignore_country_ies)
> + return true;
> + if (last_request->initiator != REGDOM_SET_BY_COUNTRY_IE)
> + return true;
> + return false;
> +}
> +
> /**
> * freq_reg_info - get regulatory information for the given frequency
> * @wiphy: the wiphy for which we want to process this rule for
> @@ -883,7 +897,7 @@ static void handle_channel(struct wiphy *wiphy, enum ieee80211_band band,
> *
> * http://tinyurl.com/11d-clarification
> */
> - if (r == -ERANGE &&
> + if (!reg_follow_driver_regd(wiphy) && r == -ERANGE &&
> last_request->initiator == REGDOM_SET_BY_COUNTRY_IE) {
> #ifdef CONFIG_CFG80211_REG_DEBUG
> printk(KERN_DEBUG "cfg80211: Leaving channel %d MHz "
> @@ -895,7 +909,8 @@ static void handle_channel(struct wiphy *wiphy, enum ieee80211_band band,
> /* In this case we know the country IE has at least one reg rule
> * for the band so we respect its band definitions */
> #ifdef CONFIG_CFG80211_REG_DEBUG
> - if (last_request->initiator == REGDOM_SET_BY_COUNTRY_IE)
> + if (!reg_follow_driver_regd(wiphy) &&
> + last_request->initiator == REGDOM_SET_BY_COUNTRY_IE)
> printk(KERN_DEBUG "cfg80211: Disabling "
> "channel %d MHz on %s due to "
> "Country IE\n",
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2009-01-16 9:17 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-16 0:12 [PATCH 00/13] cfg80211/mac80211: fixes/enhancements for reg_notifier() Luis R. Rodriguez
2009-01-16 0:12 ` [PATCH 01/13] cfg80211: print correct intersected regulatory domain Luis R. Rodriguez
2009-01-16 0:12 ` [PATCH 02/13] cfg80211: add option for wiphys to disregard country IEs Luis R. Rodriguez
2009-01-16 0:12 ` [PATCH 03/13] cfg80211: add wiphy_apply_custom_regulatory() Luis R. Rodriguez
[not found] ` <1232064746-17134-5-git-send-email-lrodriguez@atheros.com>
2009-01-16 0:12 ` [PATCH 05/13] cfg80211: Fix sanity check on 5 GHz when processing country IE Luis R. Rodriguez
2009-01-16 0:12 ` [PATCH 06/13] cfg80211: process user requests only after previous user/driver/core requests Luis R. Rodriguez
2009-01-16 0:12 ` [PATCH 07/13] cfg80211: only export disable flag on channel disablement Luis R. Rodriguez
2009-01-16 9:23 ` Johannes Berg
2009-01-16 16:32 ` Luis R. Rodriguez
2009-01-16 20:35 ` Johannes Berg
2009-01-16 21:09 ` Luis R. Rodriguez
2009-01-18 8:48 ` Johannes Berg
2009-01-18 15:30 ` Luis R. Rodriguez
2009-01-18 17:13 ` Johannes Berg
2009-01-18 17:39 ` Luis R. Rodriguez
[not found] ` <1232064746-17134-9-git-send-email-lrodriguez@atheros.com>
2009-01-16 0:12 ` [PATCH 09/13] cfg80211: rename fw_handles_regulatory to custom_regulatory Luis R. Rodriguez
2009-01-16 0:12 ` [PATCH 10/13] cfg80211: remove check for last_request on ignore_reg_update() Luis R. Rodriguez
2009-01-16 0:12 ` [PATCH 11/13] cfg80211: move check for ignore_reg_update() on wiphy_update_regulatory() Luis R. Rodriguez
2009-01-16 0:12 ` [PATCH 12/13] mac80211: allow mac80211 drivers to get to struct ieee80211_hw from wiphy Luis R. Rodriguez
2009-01-16 0:12 ` [PATCH 13/13] cfg80211: Remove CONFIG_WIRELESS_OLD_REGULATORY Luis R. Rodriguez
2009-01-16 9:28 ` Johannes Berg
2009-01-16 15:14 ` John W. Linville
2009-01-16 9:27 ` [PATCH 12/13] mac80211: allow mac80211 drivers to get to struct ieee80211_hw from wiphy Johannes Berg
2009-01-16 9:27 ` [PATCH 11/13] cfg80211: move check for ignore_reg_update() on wiphy_update_regulatory() Johannes Berg
2009-01-16 9:26 ` [PATCH 10/13] cfg80211: remove check for last_request on ignore_reg_update() Johannes Berg
2009-01-16 16:27 ` Luis R. Rodriguez
2009-01-16 20:33 ` Johannes Berg
2009-01-16 21:02 ` Luis R. Rodriguez
2009-01-16 9:25 ` [PATCH 09/13] cfg80211: rename fw_handles_regulatory to custom_regulatory Johannes Berg
2009-01-16 9:25 ` [PATCH 08/13] cfg80211: save original values on regulatory hints Johannes Berg
2009-01-16 16:31 ` Luis R. Rodriguez
2009-01-16 20:34 ` Johannes Berg
2009-01-16 21:06 ` Luis R. Rodriguez
2009-01-18 8:47 ` Johannes Berg
2009-01-18 15:28 ` Luis R. Rodriguez
2009-01-18 17:12 ` Johannes Berg
2009-01-18 17:38 ` Luis R. Rodriguez
2009-01-16 9:22 ` [PATCH 06/13] cfg80211: process user requests only after previous user/driver/core requests Johannes Berg
2009-01-16 9:21 ` [PATCH 05/13] cfg80211: Fix sanity check on 5 GHz when processing country IE Johannes Berg
2009-01-16 9:20 ` [PATCH 03/13] cfg80211: add wiphy_apply_custom_regulatory() Johannes Berg
2009-01-16 16:36 ` Luis R. Rodriguez
2009-01-16 20:37 ` Johannes Berg
2009-01-16 21:12 ` Luis R. Rodriguez
2009-01-16 22:13 ` Luis R. Rodriguez
2009-01-17 9:30 ` Johannes Berg
2009-01-17 22:06 ` Luis R. Rodriguez
2009-01-18 8:49 ` Johannes Berg
2009-01-18 15:31 ` Luis R. Rodriguez
2009-01-18 17:15 ` Johannes Berg
2009-01-16 9:17 ` Johannes Berg [this message]
2009-01-16 16:40 ` [PATCH 02/13] cfg80211: add option for wiphys to disregard country IEs Luis R. Rodriguez
2009-01-16 20:38 ` Johannes Berg
2009-01-16 21:13 ` Luis R. Rodriguez
2009-01-16 9:16 ` [PATCH 01/13] cfg80211: print correct intersected regulatory domain Johannes Berg
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=1232097432.3854.15.camel@johannes \
--to=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=lrodriguez@atheros.com \
/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