HomeFreeBSD

LinuxKPI: 802.11: when synching HT and VHT cap, mask rx_mcs

Description

LinuxKPI: 802.11: when synching HT and VHT cap, mask rx_mcs

When we sync the sta data, mask the rx_mcs with what the hardware is
able to do so that we do not leave, e.g., a 2nd stream enabled on a 1x1
chipset.
iwlwifi(4) has a further check for the smps_mode to limit to NSS=1 but
I believe that is historic and not actually in use anymore.

This fixes firmware crashes on TLC updates with nss=1 but the nss=2 array
index also being populated (with HT/VHT80/160 mcs information):
data being populated:

iwlwifi0: 0x20101A0D | ADVANCED_SYSASSERT
iwlwifi0: 0x00000006 | umac data1
iwlwifi0: 0x00000001 | umac data2
iwlwifi0: 0x000003FF | umac data3
iwlwifi0: 0x____050F | last host cmd

Reported by: Claudio Zumbo (claudiozumbo gmail.com), Erik Power
Tested by: Claudio Zumbo, Erik Power (eppower umich.edu)
PR: 290622
MFC after: 3 days
Sponsored by: The FreeBSD Foundation

Details

Provenance
bzAuthored on Fri, Nov 28, 11:10 PM
Parents
rGed29ffd396e5: LinuxKPI: pci: undo the pci_resource_len() check in lkpi_pci_request_region()
Branches
Unknown
Tags
Unknown