Search Linux Wireless

Re: [PATCH 09/12] wlcore: fix regulatory domain bit translation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2013-09-03 at 17:34 +0300, Eliad Peller wrote:
> From: Ido Reis <idor@xxxxxx>
> 
> This is a fix for channels 52,56,60,64 bit translation.
> 
> Reported-by: Yaniv Machani <yanivma@xxxxxx>
> Signed-off-by: Ido Reis <idor@xxxxxx>
> Signed-off-by: Victor Goldenshtein <victorg@xxxxxx>
> Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx>
> ---
>  drivers/net/wireless/ti/wlcore/cmd.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/ti/wlcore/cmd.c b/drivers/net/wireless/ti/wlcore/cmd.c
> index e3ae425..1cb3296 100644
> --- a/drivers/net/wireless/ti/wlcore/cmd.c
> +++ b/drivers/net/wireless/ti/wlcore/cmd.c
> @@ -1613,8 +1613,10 @@ static int wlcore_get_reg_conf_ch_idx(enum ieee80211_band band, u16 ch)
>  	case IEEE80211_BAND_5GHZ:
>  		if (ch >= 8 && ch <= 16)
>  			idx = ((ch-8)/4 + 18);
> -		else if (ch >= 34 && ch <= 64)
> +		else if (ch >= 34 && ch <= 48)
>  			idx = ((ch-34)/2 + 3 + 18);
> +		else if (ch >= 52 && ch <= 64)
> +			idx = ((ch-52)/4 + 11 + 18);
>  		else if (ch >= 100 && ch <= 140)
>  			idx = ((ch-100)/4 + 15 + 18);
>  		else if (ch >= 149 && ch <= 165)

Hmmm... I don't have a clue what is going on here.  I don't know how I
let this function pass as is originally, shame on me. :)

The change probably makes things work better, since someone apparently
saw a bug in real life and reported it, but can anyone explain what is
going on during this translation? Aren't we losing data here? Eg.
channels 8, 9, 10 and 11 all use the same bit in the firmware command
bitmask?

--
Luca.

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux