HomeFreeBSD

net80211: fix ieee80211_htrateset setup, return EINVAL for an unsupported

Description

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

Details

Provenance
avosAuthored on
Reviewer
adrian
Differential Revision
D9871: net80211: fix ieee80211_htrateset setup, return EINVAL for an unsupported ucast/mcast/mgmt HT rate
Parents
rS314574: MFC r314287:
Branches
Unknown
Tags
Unknown