2011-09-27 10:08:34

by Roland Vossen

[permalink] [raw]
Subject: Questions on ieee80211_frame_duration()

Hello Johannes,

in response to one of your brcm80211 review comments, I am trying to
replace functions that calculate frame duration with Mac80211 counterparts.

As such, I have a hard time grasping this function:

http://lxr.free-electrons.com/source/net/mac80211/util.c#L108

A couple of questions:

a. The comment in the 'else' branch does not mention 802.11n, but I
think it should. Agree ?

b. The long/short preamble choice applies to CCK rates only. But this
function does not take that into account. Is that on purpose ?

c. In 802.11n there are 4 preamble types possible:
- long (CCK rates)
- short (CCK rates)
- green field
- mixed mode

The function does not seem to take the last two types into account.
Should it ?

Bye, Roland.



2011-09-27 11:10:09

by Johannes Berg

[permalink] [raw]
Subject: Re: Questions on ieee80211_frame_duration()

Hi,

> in response to one of your brcm80211 review comments, I am trying to
> replace functions that calculate frame duration with Mac80211 counterparts.
>
> As such, I have a hard time grasping this function:
>
> http://lxr.free-electrons.com/source/net/mac80211/util.c#L108
>
> A couple of questions:
>
> a. The comment in the 'else' branch does not mention 802.11n, but I
> think it should. Agree ?

Yeah, the function predates 11n support, and it seems that all devices
that actually implement 11n don't need to calculate the duration in
software, so this was never updated.

> b. The long/short preamble choice applies to CCK rates only. But this
> function does not take that into account. Is that on purpose ?
>
> c. In 802.11n there are 4 preamble types possible:
> - long (CCK rates)
> - short (CCK rates)
> - green field
> - mixed mode
>
> The function does not seem to take the last two types into account.
> Should it ?

I suppose it needs to. I'd be happy if you would fix it :-)

johannes


2011-09-28 07:28:43

by Johannes Berg

[permalink] [raw]
Subject: Re: Questions on ieee80211_frame_duration()

Hi Roland,

> >> The function does not seem to take the last two types into account.
> >> Should it ?
> >
> > I suppose it needs to. I'd be happy if you would fix it :-)
>
> I feel a bit uncomfortable changing such a critical function, especially
> since I am not that familiar with Mac80211 design yet. So don't expect
> miracles from me on the short term :-)

:-)
I suspect it's actually not very critical for most drivers.

johannes


2011-09-28 07:19:55

by Roland Vossen

[permalink] [raw]
Subject: Re: Questions on ieee80211_frame_duration()

Hi Johannes,

>> c. In 802.11n there are 4 preamble types possible:
>> - long (CCK rates)
>> - short (CCK rates)
>> - green field
>> - mixed mode
>>
>> The function does not seem to take the last two types into account.
>> Should it ?
>
> I suppose it needs to. I'd be happy if you would fix it :-)

I feel a bit uncomfortable changing such a critical function, especially
since I am not that familiar with Mac80211 design yet. So don't expect
miracles from me on the short term :-)

Bye, Roland.