``
LinuxKPI: 802.11: try to limit VHT (11ac) to 5Ghz
We have multiple reports for iwlwifi firmware crashes where net80211
logged:
ieee80211_sta_join: BSS xx:xx:xx:xx:xx:xx: 2GHz channel, VHT info; ignoring
Make sure when we sync from net80211 or set state that we only do
VHT if we are on the 5Ghz band. This change is likely helpful
whether it fixes the originally reported problems or not.
Sponsored by: The FreeBSD Foundation
Reported by: Jonathan Vasquez (jon xyinn.org)
Reported by: Michael Butler (imb protected-networks.net)
Reported by: others (fw crash w/o net80211 logging)
MFC after: 3 days
LinuxKPI: 802.11: optimize mo_bss_info_changed
In case we are not announcing any changes there is no need to do a
downcall into the driver. Catch that with an early return.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
LinuxKPI: 802.11: deal with sta bw > channel width
Especially on 2.4Ghz everything may indicate that we can use HT40
but we are stuck on a 20Mhz channel. Adjust the logic in
lkpi_sta_sync_ht_from_ni() to also check the channel width before
setting the sta bandwidth to 40.
Further check that the sta bw is not larger than the channel width
after the 'sync from ni' for HT and VHT and if it is, then update
the chanctx accordingly.
Firmware crashes we have seen with
iwlwifi0: 0x00010000 | umac data1
iwlwifi0: 0x00000000 | umac data2
iwlwifi0: 0xDEADBEEF | umac data3
iwlwifi0: 0xXXXX050F | last host cmd
likely indicate this problem.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Reported by: Jonathan Vasquez (jon xyinn.org)
Reported by: Michael Butler (imb protected-networks.net)
Reported by: bapt
Reported by: William D Pool (rotaechojunk gmail.com)
Reported by: Eirik (tning-freebsd-wireless anduin.net)
Reported by: likely others before
```