Improve the new ieee80211_{min,max}_rates() APIs and fix regressions.
authorstsp <stsp@openbsd.org>
Tue, 30 May 2017 16:21:55 +0000 (16:21 +0000)
committerstsp <stsp@openbsd.org>
Tue, 30 May 2017 16:21:55 +0000 (16:21 +0000)
commit0b25d076ee0abe5921de9e3baa3ef606c50fd0d9
tree16b0639ab10e4393ad3656488376d779e892f1b0
parent232c32a3224efab6a63e0d104744cf2df930b405
Improve the new ieee80211_{min,max}_rates() APIs and fix regressions.

Instead of returning an index into ni_rates, return the RVAL of the
basic rate we want to use. This allows a driver to unambiguously map
the basic rate to the corresponding hardware-specific rate value, and
reduces the possibility of bugs where indices are used with arrays
they weren't intended for.

Adjust iwn(4) accordingly, and use the lowest instead of the highest
basic rate in iwn_tx() to cope better in noisy environments.

Fixes association problems on 5GHz reported by tb@
sys/dev/pci/if_iwn.c
sys/net80211/ieee80211.c