All of lore.kernel.org
 help / color / mirror / Atom feed
* [BUG REPORT] brcmfmac: wrong logic in finding control/primary channel relative location
@ 2014-12-20 18:25 Rafał Miłecki
  2014-12-21 13:03 ` Arend van Spriel
  0 siblings, 1 reply; 4+ messages in thread
From: Rafał Miłecki @ 2014-12-20 18:25 UTC (permalink / raw)
  To: Brett Rudley, Arend van Spriel, Franky (Zhenhui) Lin,
	Hante Meuleman, brcm80211-dev-list
  Cc: linux-wireless, Rafał Miłecki

---
Hi guys,

Let me report something I think is a bug in this unusual-patch way ;)
---
 drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
index 39b45c0..2c9e88b 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
@@ -313,11 +313,13 @@ static u16 chandef_to_chanspec(struct brcmu_d11inf *d11inf,
 	case NL80211_CHAN_WIDTH_80:
 		ch_inf.bw = BRCMU_CHAN_BW_80;
 		if (primary_offset < 0) {
+			/* FIXME: We compare frequencies offset with a value -2. Looks like a wrong logic. */
 			if (primary_offset < -CH_10MHZ_APART)
 				ch_inf.sb = BRCMU_CHAN_SB_UU;
 			else
 				ch_inf.sb = BRCMU_CHAN_SB_UL;
 		} else {
+			/* FIXME: We compare frequencies offset with a value 2. Looks like a wrong logic. */
 			if (primary_offset > CH_10MHZ_APART)
 				ch_inf.sb = BRCMU_CHAN_SB_LL;
 			else
-- 
1.8.4.5


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [BUG REPORT] brcmfmac: wrong logic in finding control/primary channel relative location
  2014-12-20 18:25 [BUG REPORT] brcmfmac: wrong logic in finding control/primary channel relative location Rafał Miłecki
@ 2014-12-21 13:03 ` Arend van Spriel
  2015-05-31  8:18   ` Rafał Miłecki
  0 siblings, 1 reply; 4+ messages in thread
From: Arend van Spriel @ 2014-12-21 13:03 UTC (permalink / raw)
  To: Rafał Miłecki
  Cc: Brett Rudley, Franky (Zhenhui) Lin, Hante Meuleman,
	brcm80211-dev-list, linux-wireless

On 12/20/14 19:25, Rafał Miłecki wrote:
> ---
> Hi guys,
>
> Let me report something I think is a bug in this unusual-patch way ;)
> ---
>   drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
> index 39b45c0..2c9e88b 100644
> --- a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
> +++ b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
> @@ -313,11 +313,13 @@ static u16 chandef_to_chanspec(struct brcmu_d11inf *d11inf,
>   	case NL80211_CHAN_WIDTH_80:
>   		ch_inf.bw = BRCMU_CHAN_BW_80;
>   		if (primary_offset<  0) {
> +			/* FIXME: We compare frequencies offset with a value -2. Looks like a wrong logic. */
>   			if (primary_offset<  -CH_10MHZ_APART)

You are right. The primary_offset is in MHz, but the logical expression 
is for channel spacing (1 channel == 5MHz). So here it should be -10 
instead. Thanks for reporting this.

Regards,
Arend
>   				ch_inf.sb = BRCMU_CHAN_SB_UU;
>   			else
>   				ch_inf.sb = BRCMU_CHAN_SB_UL;
>   		} else {
> +			/* FIXME: We compare frequencies offset with a value 2. Looks like a wrong logic. */
>   			if (primary_offset>  CH_10MHZ_APART)
>   				ch_inf.sb = BRCMU_CHAN_SB_LL;
>   			else


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [BUG REPORT] brcmfmac: wrong logic in finding control/primary channel relative location
  2014-12-21 13:03 ` Arend van Spriel
@ 2015-05-31  8:18   ` Rafał Miłecki
  2015-06-01 11:55     ` Arend van Spriel
  0 siblings, 1 reply; 4+ messages in thread
From: Rafał Miłecki @ 2015-05-31  8:18 UTC (permalink / raw)
  To: Arend van Spriel
  Cc: Brett Rudley, Franky (Zhenhui) Lin, Hante Meuleman,
	brcm80211 development, linux-wireless

On 21 December 2014 at 14:03, Arend van Spriel <arend@broadcom.com> wrote:
> On 12/20/14 19:25, Rafał Miłecki wrote:
>> Hi guys,
>>
>> Let me report something I think is a bug in this unusual-patch way ;)
>> ---
>>   drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
>> b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
>> index 39b45c0..2c9e88b 100644
>> --- a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
>> +++ b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
>> @@ -313,11 +313,13 @@ static u16 chandef_to_chanspec(struct brcmu_d11inf
>> *d11inf,
>>         case NL80211_CHAN_WIDTH_80:
>>                 ch_inf.bw = BRCMU_CHAN_BW_80;
>>                 if (primary_offset<  0) {
>> +                       /* FIXME: We compare frequencies offset with a
>> value -2. Looks like a wrong logic. */
>>                         if (primary_offset<  -CH_10MHZ_APART)
>
>
> You are right. The primary_offset is in MHz, but the logical expression is
> for channel spacing (1 channel == 5MHz). So here it should be -10 instead.
> Thanks for reporting this.

Will you fix it?

-- 
Rafał

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [BUG REPORT] brcmfmac: wrong logic in finding control/primary channel relative location
  2015-05-31  8:18   ` Rafał Miłecki
@ 2015-06-01 11:55     ` Arend van Spriel
  0 siblings, 0 replies; 4+ messages in thread
From: Arend van Spriel @ 2015-06-01 11:55 UTC (permalink / raw)
  To: Rafał Miłecki
  Cc: Brett Rudley, Franky (Zhenhui) Lin, Hante Meuleman,
	brcm80211 development, linux-wireless

On 05/31/15 10:18, Rafał Miłecki wrote:
> On 21 December 2014 at 14:03, Arend van Spriel<arend@broadcom.com>  wrote:
>> On 12/20/14 19:25, Rafał Miłecki wrote:
>>> Hi guys,
>>>
>>> Let me report something I think is a bug in this unusual-patch way ;)
>>> ---
>>>    drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | 2 ++
>>>    1 file changed, 2 insertions(+)
>>>
>>> diff --git a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
>>> b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
>>> index 39b45c0..2c9e88b 100644
>>> --- a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
>>> +++ b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
>>> @@ -313,11 +313,13 @@ static u16 chandef_to_chanspec(struct brcmu_d11inf
>>> *d11inf,
>>>          case NL80211_CHAN_WIDTH_80:
>>>                  ch_inf.bw = BRCMU_CHAN_BW_80;
>>>                  if (primary_offset<   0) {
>>> +                       /* FIXME: We compare frequencies offset with a
>>> value -2. Looks like a wrong logic. */
>>>                          if (primary_offset<   -CH_10MHZ_APART)
>>
>>
>> You are right. The primary_offset is in MHz, but the logical expression is
>> for channel spacing (1 channel == 5MHz). So here it should be -10 instead.
>> Thanks for reporting this.
>
> Will you fix it?

Completely forgot about this one. Feel free to submit a patch for it.

Regards,
Arend

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-06-01 11:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-20 18:25 [BUG REPORT] brcmfmac: wrong logic in finding control/primary channel relative location Rafał Miłecki
2014-12-21 13:03 ` Arend van Spriel
2015-05-31  8:18   ` Rafał Miłecki
2015-06-01 11:55     ` Arend van Spriel

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.