path: root/sys/net80211/ieee80211_ht.h
diff options
authorAndriy Voskoboinyk <avos@FreeBSD.org>2017-03-03 01:06:27 +0000
committerAndriy Voskoboinyk <avos@FreeBSD.org>2017-03-03 01:06:27 +0000
commitdfabbaa0e030669f8ccddb4d52e85e96e8fcf39c (patch)
tree65068da874772f9a391680aaaf06aa2ce6fcfc40 /sys/net80211/ieee80211_ht.h
parent0132c9cd4ac9a4cf86ff858e22cab39fc446ba93 (diff)
net80211: fix ieee80211_htrateset setup, return EINVAL for an unsupported
ucast/mcast/mgmt HT rate. - Init global ieee80211_htrateset only once; neither ic_htcaps nor ic_txstream is changed when device is attached; - Move global ieee80211_htrateset structure to ieee80211com; there was a possible data race when more than 1 wireless device is used simultaneously; - Discard unsupported rates in ieee80211_ioctl_settxparams(); otherwise, an unsupported value may break connectivity (actually, 'ifconfig wlan0 ucastrate 8' for RTL8188EU results in immediate disconnect + infinite 'device timeout's after it). Tested with: - Intel 6205, STA mode. - RTL8821AU, STA mode. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D9871
Notes: svn path=/head/; revision=314575
Diffstat (limited to 'sys/net80211/ieee80211_ht.h')
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/net80211/ieee80211_ht.h b/sys/net80211/ieee80211_ht.h
index b34d4edf3895..5b818a28b71a 100644
--- a/sys/net80211/ieee80211_ht.h
+++ b/sys/net80211/ieee80211_ht.h
@@ -177,8 +177,7 @@ struct ieee80211_mcs_rates {
uint16_t ht40_rate_400ns;
extern const struct ieee80211_mcs_rates ieee80211_htrates[];
-const struct ieee80211_htrateset *ieee80211_get_suphtrates(
- struct ieee80211com *, const struct ieee80211_channel *);
+void ieee80211_init_suphtrates(struct ieee80211com *);
struct ieee80211_node;
int ieee80211_setup_htrates(struct ieee80211_node *,