From: Johannes Berg <[email protected]>
There isn't really much harm in not ignoring, since it doesn't
represent a valid rate, but since we already ignore the HT one
also ignore VHT. Also simplify the code a bit.
Signed-off-by: Johannes Berg <[email protected]>
---
net/mac80211/mlme.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 1568a74757bc..6340127a71c6 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -2823,15 +2823,15 @@ static void ieee80211_get_rates(struct ieee80211_supported_band *sband,
*have_higher_than_11mbit = true;
/*
- * BSS_MEMBERSHIP_SELECTOR_HT_PHY is defined in 802.11n-2009
- * 7.3.2.2 as a magic value instead of a rate. Hence, skip it.
+ * Skip HT and VHT BSS membership selectors since they're not
+ * rates.
*
* Note: Even through the membership selector and the basic
* rate flag share the same bit, they are not exactly
* the same.
*/
- if (!!(supp_rates[i] & 0x80) &&
- (supp_rates[i] & 0x7f) == BSS_MEMBERSHIP_SELECTOR_HT_PHY)
+ if (supp_rates[i] == (0x80 | BSS_MEMBERSHIP_SELECTOR_HT_PHY) ||
+ supp_rates[i] == (0x80 | BSS_MEMBERSHIP_SELECTOR_VHT_PHY))
continue;
for (j = 0; j < sband->n_bitrates; j++) {
--
2.11.0
On 7-3-2017 9:42, Johannes Berg wrote:
>
>>>
>>> /*
>>> - * BSS_MEMBERSHIP_SELECTOR_HT_PHY is defined in
>>> 802.11n-2009
>>> - * 7.3.2.2 as a magic value instead of a rate.
>>> Hence, skip it.
>>> + * Skip HT and VHT BSS membership selectors since
>>> they're not
>>> + * rates.
>>> *
>>> * Note: Even through the membership selector and
>>> the basic
>>
>> typo: through -> though.
>
> That's just existing context ;-)
>
> Will fix here.
I noticed and indeed could create a patch for it, but this is easier
(for me :-p ).
Gr. AvS
> >
> > /*
> > - * BSS_MEMBERSHIP_SELECTOR_HT_PHY is defined in
> > 802.11n-2009
> > - * 7.3.2.2 as a magic value instead of a rate.
> > Hence, skip it.
> > + * Skip HT and VHT BSS membership selectors since
> > they're not
> > + * rates.
> > *
> > * Note: Even through the membership selector and
> > the basic
>
> typo: through -> though.
That's just existing context ;-)
Will fix here.
johannes
On 6-3-2017 23:01, Johannes Berg wrote:
> From: Johannes Berg <[email protected]>
>
> There isn't really much harm in not ignoring, since it doesn't
> represent a valid rate, but since we already ignore the HT one
> also ignore VHT. Also simplify the code a bit.
>
> Signed-off-by: Johannes Berg <[email protected]>
> ---
> net/mac80211/mlme.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
> index 1568a74757bc..6340127a71c6 100644
> --- a/net/mac80211/mlme.c
> +++ b/net/mac80211/mlme.c
> @@ -2823,15 +2823,15 @@ static void ieee80211_get_rates(struct ieee80211_supported_band *sband,
> *have_higher_than_11mbit = true;
>
> /*
> - * BSS_MEMBERSHIP_SELECTOR_HT_PHY is defined in 802.11n-2009
> - * 7.3.2.2 as a magic value instead of a rate. Hence, skip it.
> + * Skip HT and VHT BSS membership selectors since they're not
> + * rates.
> *
> * Note: Even through the membership selector and the basic
typo: through -> though.
Regards,
Arend
> * rate flag share the same bit, they are not exactly
> * the same.
> */
> - if (!!(supp_rates[i] & 0x80) &&
> - (supp_rates[i] & 0x7f) == BSS_MEMBERSHIP_SELECTOR_HT_PHY)
> + if (supp_rates[i] == (0x80 | BSS_MEMBERSHIP_SELECTOR_HT_PHY) ||
> + supp_rates[i] == (0x80 | BSS_MEMBERSHIP_SELECTOR_VHT_PHY))
> continue;
>
> for (j = 0; j < sband->n_bitrates; j++) {
>