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
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
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
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