Search Linux Wireless

Re: [PATCH 2/2] mwl8k: Tell mac80211 we have rate adaptation in AP FW

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

 



Lennert,

We appreciate your feedback and are working on a correct solution,
thanks for the heads up.

Thomas

On Fri, Feb 11, 2011 at 4:34 PM, Lennert Buytenhek
<buytenh@xxxxxxxxxxxxxx> wrote:
> [ adding Nishant Sarmukadam and Sandesh Goel to CC ]
>
>
> On Fri, Feb 11, 2011 at 04:03:51PM -0800, Thomas Pedersen wrote:
>
>> From: Nishant Sarmukadam <nishants@xxxxxxxxxxx>
>>
>> Minstrel rate control algorithm is enabled by default by mac80211.
>> This is not needed since the firmware does the rate control in our case.
>>
>> Signed-off-by: Nishant Sarmukadam <nishants@xxxxxxxxxxx>
>> Signed-off-by: Thomas Pedersen <thomas@xxxxxxxxxxx>
>> ---
>>  drivers/net/wireless/mwl8k.c |    3 +++
>>  1 files changed, 3 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c
>> index f79da1b..840b9e4 100644
>> --- a/drivers/net/wireless/mwl8k.c
>> +++ b/drivers/net/wireless/mwl8k.c
>> @@ -4765,6 +4765,9 @@ static int mwl8k_firmware_load_success(struct mwl8k_priv *priv)
>>
>>       /* Set rssi values to dBm */
>>       hw->flags |= IEEE80211_HW_SIGNAL_DBM;
>> +     /* AP FW has rate control */
>> +     if (priv->ap_fw)
>> +             hw->flags |= IEEE80211_HW_HAS_RATE_CONTROL;
>>       hw->vif_data_size = sizeof(struct mwl8k_vif);
>>       hw->sta_data_size = sizeof(struct mwl8k_sta);
>
> I got this same patch (almost exactly the same -- STA firmware actually
> also has rate control so the added AP check in this version of the patch
> is bogus) sent to me a number of times now, the last time from Pradeep
> Nemavat <pnemavat@xxxxxxxxxxx> in private email on Feb 26 2010.  This
> is what I wrote back to him at the time:
>
> | mac80211.h says:
> |
> |  * @IEEE80211_HW_HAS_RATE_CONTROL:
> |  *      The hardware or firmware includes rate control, and cannot be
> |  *      controlled by the stack. As such, no rate control algorithm
> |  *      should be instantiated, and the TX rate reported to userspace
> |  *      will be taken from the TX status instead of the rate control
> |  *      algorithm.
> |  *      Note that this requires that the driver implement a number of
> |  *      callbacks so it has the correct information, it needs to have
> |  *      the @set_rts_threshold callback and must look at the BSS config
> |  *      @use_cts_prot for G/N protection, @use_short_slot for slot
> |  *      timing in 2.4 GHz and @use_short_preamble for preambles for
> |  *      CCK frames.
> |
> | In particular, the "need to report TX rate used in the TX status"
> | requirement is something that we don't do, which is why I didn't merge
> | the IEEE80211_HW_HAS_RATE_CONTROL change upstream yet.  (I know that
> | it improves performance, but performance is secondary to correctness.)
> |
> | One case where this is important is when you use tcpdump to look at
> | transmitted packets and at which rates they were transmitted for
> | debugging purposes -- tcpdump will report rates for each transmitted
> | packet just like for received packets, a la:
> |
> |         [...]
> |
> | In the situation before this patch, transmitted packets would be
> | reported at whatever rate minstrel chose for it (while the actual rate
> | on the air might be different), but after this patch, they will all
> | just be reported at 1 Mb/s, which is hardly better.
> |
> | If there is no way to find out what rate the firmware decided to
> | transmit at, what we should perhaps do is prevent a transmit rate from
> | being sent to userspace at all.  I.e. in the packet that tcpdump sniffs
> | from the packet socket, there should just not be a "Rate" field in the
> | Radiotap (www.radiotap.org) header at all.  We might be able to do this
> | by choosing a special value in the TX status indicating that we don't
> | know the TX rate, and then having mac80211 not generate a Rate field
> | when it encounters an invalid value -- at least that would be better
> | than reporting TX rates we know to be wrong.
>
> The general strategy of the s/w team on this project at the time
> appeared to be to send me patches, to totally ignore the feedback I
> would then provide on those patches, and then to submit the exact
> same patches again two months later in the hope that I would at some
> point just get tired of NAKing them and they would get merged by way
> of reviewer exhaustion.
>
> E.g. it's probably the 3th or 4th time that I get sent this patch now,
> and while I freely admit that my reasoning above for not having merged
> this patch yet may be faulty, noone has bothered to try to convince me
> that it is, all I get is just the exact same patch resubmitted every
> N months without any indication that the previous feedback has even
> registered.
>
> I have explained my objections against this patch in detail to Nishant
> in the past, and more than once.  Why has all that feedback just gone
> straight to /dev/null every single time?
>
>
> thanks,
> Lennert
>
--
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 Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux