2014-11-15 02:50:21

by Felix Fietkau

[permalink] [raw]
Subject: [PATCH] mac80211: skip legacy rate mask handling for VHT rates

The rate mask code currently assumes that a rate is legacy if
IEEE80211_TX_RC_MCS is not set. This might be the cause of bogus VHT
rates being reported with minstrel_ht.

Signed-off-by: Felix Fietkau <[email protected]>
---
net/mac80211/rate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c
index 6081329..f6fea67f 100644
--- a/net/mac80211/rate.c
+++ b/net/mac80211/rate.c
@@ -385,7 +385,7 @@ static void rate_idx_match_mask(struct ieee80211_tx_rate *rate,
*rate = alt_rate;
return;
}
- } else {
+ } else if (!(rate->flags & IEEE80211_TX_RC_VHT_MCS)) {
/* handle legacy rates */
if (rate_idx_match_legacy_mask(rate, sband->n_bitrates, mask))
return;
--
2.1.2



2014-11-19 17:38:47

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] mac80211: skip legacy rate mask handling for VHT rates

On Sat, 2014-11-15 at 03:48 +0100, Felix Fietkau wrote:
> The rate mask code currently assumes that a rate is legacy if
> IEEE80211_TX_RC_MCS is not set. This might be the cause of bogus VHT
> rates being reported with minstrel_ht.

Applied.

johannes


2014-11-15 11:05:09

by Karl Beldan

[permalink] [raw]
Subject: Re: [PATCH] mac80211: skip legacy rate mask handling for VHT rates

On Sat, Nov 15, 2014 at 03:48:54AM +0100, Felix Fietkau wrote:
> The rate mask code currently assumes that a rate is legacy if
> IEEE80211_TX_RC_MCS is not set. This might be the cause of bogus VHT
> rates being reported with minstrel_ht.
>
> Signed-off-by: Felix Fietkau <[email protected]>
> ---
> net/mac80211/rate.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c
> index 6081329..f6fea67f 100644
> --- a/net/mac80211/rate.c
> +++ b/net/mac80211/rate.c
> @@ -385,7 +385,7 @@ static void rate_idx_match_mask(struct ieee80211_tx_rate *rate,
> *rate = alt_rate;
> return;
> }
> - } else {
> + } else if (!(rate->flags & IEEE80211_TX_RC_VHT_MCS)) {
> /* handle legacy rates */
> if (rate_idx_match_legacy_mask(rate, sband->n_bitrates, mask))
> return;

Does it fix things on your side Jouni ?

Karl

2014-11-15 11:44:50

by Jouni Malinen

[permalink] [raw]
Subject: Re: [PATCH] mac80211: skip legacy rate mask handling for VHT rates

On Sat, Nov 15, 2014 at 12:05:00PM +0100, Karl Beldan wrote:
> On Sat, Nov 15, 2014 at 03:48:54AM +0100, Felix Fietkau wrote:
> > The rate mask code currently assumes that a rate is legacy if
> > IEEE80211_TX_RC_MCS is not set. This might be the cause of bogus VHT
> > rates being reported with minstrel_ht.

> > - } else {
> > + } else if (!(rate->flags & IEEE80211_TX_RC_VHT_MCS)) {

> Does it fix things on your side Jouni ?

Yes, it does resolve the nfc_p2p_* test case failures with
CONFIG_MAC80211_RC_MINSTREL_VHT=y.

--
Jouni Malinen PGP id EFC895FA