diff options
author | Simon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de> | 2012-01-28 11:25:33 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-01-30 15:48:26 -0500 |
commit | 19468413e8d98d44be8daf0acaf8d576dfc53fa2 (patch) | |
tree | 99d7df720566824c4588ccff03c65e60c381e60d /net/mac80211/iface.c | |
parent | 24db78c05b1e3ccb5a78aedd17aa1008c91dab5a (diff) |
mac80211: add support for mcs masks
* Handle MCS masks set by the user.
* Match rates provided by the rate control algorithm to the mask set,
also in HT mode, and switch back to legacy mode if necessary.
* add debugfs files to observate the rate selection
Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/iface.c')
-rw-r--r-- | net/mac80211/iface.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index 6b0d70e960d..c33feede5dc 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c | |||
@@ -1181,6 +1181,13 @@ int ieee80211_if_add(struct ieee80211_local *local, const char *name, | |||
1181 | sband = local->hw.wiphy->bands[i]; | 1181 | sband = local->hw.wiphy->bands[i]; |
1182 | sdata->rc_rateidx_mask[i] = | 1182 | sdata->rc_rateidx_mask[i] = |
1183 | sband ? (1 << sband->n_bitrates) - 1 : 0; | 1183 | sband ? (1 << sband->n_bitrates) - 1 : 0; |
1184 | if (sband) | ||
1185 | memcpy(sdata->rc_rateidx_mcs_mask[i], | ||
1186 | sband->ht_cap.mcs.rx_mask, | ||
1187 | sizeof(sdata->rc_rateidx_mcs_mask[i])); | ||
1188 | else | ||
1189 | memset(sdata->rc_rateidx_mcs_mask[i], 0, | ||
1190 | sizeof(sdata->rc_rateidx_mcs_mask[i])); | ||
1184 | } | 1191 | } |
1185 | 1192 | ||
1186 | /* setup type-dependent data */ | 1193 | /* setup type-dependent data */ |