diff mbox

mac80211: skip legacy rate mask handling for VHT rates

Message ID 1416019734-17509-1-git-send-email-nbd@openwrt.org (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Felix Fietkau Nov. 15, 2014, 2:48 a.m. UTC
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 <nbd@openwrt.org>
---
 net/mac80211/rate.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Karl Beldan Nov. 15, 2014, 11:05 a.m. UTC | #1
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 <nbd@openwrt.org>
> ---
>  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
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jouni Malinen Nov. 15, 2014, 11:44 a.m. UTC | #2
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.
Johannes Berg Nov. 19, 2014, 5:38 p.m. UTC | #3
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

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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;