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
[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:23 ` [PATCH 07/13] cfg80211: only export disable flag on channel disablement 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
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.