aboutsummaryrefslogtreecommitdiff
path: root/sys/net80211/ieee80211.c
diff options
context:
space:
mode:
authorSam Leffler <sam@FreeBSD.org>2007-09-18 20:46:36 +0000
committerSam Leffler <sam@FreeBSD.org>2007-09-18 20:46:36 +0000
commitf0ee92d585d979d7d2505e54a2047a516e889dd4 (patch)
tree44f6dd3e3645ee9223aaf6b6d10ddb712ea004a6 /sys/net80211/ieee80211.c
parentb337fbc43531bc018c4d7728fc99a6fca61c7a00 (diff)
downloadsrc-f0ee92d585d979d7d2505e54a2047a516e889dd4.tar.gz
src-f0ee92d585d979d7d2505e54a2047a516e889dd4.zip
o add IEEE80211_RATE_MCS to use instead of naked constant (for marking MCS)
o correct ieee80211_rate2media handling of MCS o correct rate HT announcements for 11n devices Approved by: re (blanket wireless)
Notes
Notes: svn path=/head/; revision=172226
Diffstat (limited to 'sys/net80211/ieee80211.c')
-rw-r--r--sys/net80211/ieee80211.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/net80211/ieee80211.c b/sys/net80211/ieee80211.c
index 7e929b1bd7fc..ab092566fa8a 100644
--- a/sys/net80211/ieee80211.c
+++ b/sys/net80211/ieee80211.c
@@ -1119,14 +1119,16 @@ ieee80211_rate2media(struct ieee80211com *ic, int rate, enum ieee80211_phymode m
* Check 11n rates first for match as an MCS.
*/
if (mode == IEEE80211_MODE_11NA) {
- if ((rate & IEEE80211_RATE_BASIC) == 0) {
+ if (rate & IEEE80211_RATE_MCS) {
+ rate &= ~IEEE80211_RATE_MCS;
m = findmedia(htrates, N(htrates), rate);
if (m != IFM_AUTO)
return m | IFM_IEEE80211_11NA;
}
} else if (mode == IEEE80211_MODE_11NG) {
/* NB: 12 is ambiguous, it will be treated as an MCS */
- if ((rate & IEEE80211_RATE_BASIC) == 0) {
+ if (rate & IEEE80211_RATE_MCS) {
+ rate &= ~IEEE80211_RATE_MCS;
m = findmedia(htrates, N(htrates), rate);
if (m != IFM_AUTO)
return m | IFM_IEEE80211_11NG;