linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 05/13] cfg80211: Fix sanity check on 5 GHz when processing country IE
Date: Fri, 16 Jan 2009 10:21:48 +0100	[thread overview]
Message-ID: <1232097708.3854.21.camel@johannes> (raw)
In-Reply-To: <1232064746-17134-6-git-send-email-lrodriguez@atheros.com>

[-- Attachment #1: Type: text/plain, Size: 2820 bytes --]

On Thu, 2009-01-15 at 16:12 -0800, Luis R. Rodriguez wrote:
> This fixes two issues with the sanity check loop when processing
> the country IE:
> 
> 1. Do not use frequency for the current subband channel check,
>    this was a big fat typo.
> 2. Apply the 5 GHz 4-channel steps when considering max channel
>    on each subband as was done with a recent patch.

I'll just believe you here :)

> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
> ---
>  net/wireless/reg.c |   30 +++++++++++++++++++-----------
>  1 files changed, 19 insertions(+), 11 deletions(-)
> 
> diff --git a/net/wireless/reg.c b/net/wireless/reg.c
> index 77e45c7..0cc19e7 100644
> --- a/net/wireless/reg.c
> +++ b/net/wireless/reg.c
> @@ -498,6 +498,7 @@ static struct ieee80211_regdomain *country_ie_2_rd(
>  	 * calculate the number of reg rules we will need. We will need one
>  	 * for each channel subband */
>  	while (country_ie_len >= 3) {
> +		int end_channel = 0;
>  		struct ieee80211_country_ie_triplet *triplet =
>  			(struct ieee80211_country_ie_triplet *) country_ie;
>  		int cur_sub_max_channel = 0, cur_channel = 0;
> @@ -509,9 +510,25 @@ static struct ieee80211_regdomain *country_ie_2_rd(
>  			continue;
>  		}
>  
> +		/* 2 GHz */
> +		if (triplet->chans.first_channel <= 14)
> +			end_channel = triplet->chans.first_channel +
> +				triplet->chans.num_channels;
> +		else
> +			/*
> +			 * 5 GHz -- For example in country IEs if the first
> +			 * channel given is 36 and the number of channels is 4
> +			 * then the individual channel numbers defined for the
> +			 * 5 GHz PHY by these parameters are: 36, 40, 44, and 48
> +			 * and not 36, 37, 38, 39.
> +			 *
> +			 * See: http://tinyurl.com/11d-clarification
> +			 */
> +			end_channel =  triplet->chans.first_channel +
> +				(4 * (triplet->chans.num_channels - 1));
> +
>  		cur_channel = triplet->chans.first_channel;
> -		cur_sub_max_channel = ieee80211_channel_to_frequency(
> -			cur_channel + triplet->chans.num_channels);
> +		cur_sub_max_channel = end_channel;
>  
>  		/* Basic sanity check */
>  		if (cur_sub_max_channel < cur_channel)
> @@ -590,15 +607,6 @@ static struct ieee80211_regdomain *country_ie_2_rd(
>  			end_channel = triplet->chans.first_channel +
>  				triplet->chans.num_channels;
>  		else
> -			/*
> -			 * 5 GHz -- For example in country IEs if the first
> -			 * channel given is 36 and the number of channels is 4
> -			 * then the individual channel numbers defined for the
> -			 * 5 GHz PHY by these parameters are: 36, 40, 44, and 48
> -			 * and not 36, 37, 38, 39.
> -			 *
> -			 * See: http://tinyurl.com/11d-clarification
> -			 */
>  			end_channel =  triplet->chans.first_channel +
>  				(4 * (triplet->chans.num_channels - 1));
>  

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

  parent reply	other threads:[~2009-01-16  9:22 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           ` Johannes Berg [this message]
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     ` [PATCH 02/13] cfg80211: add option for wiphys to disregard country IEs Johannes Berg
2009-01-16 16:40       ` 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=1232097708.3854.21.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;
as well as URLs for NNTP newsgroup(s).