linux/drivers/net/wireless
Wen Gong 972754bfee wifi: ath12k: add keep backward compatibility of PHY mode to avoid firmware crash
In a special WCN7855 firmware release the EHT (IEEE 802.11be) support has
been disabled for size reduction. Currently ath12k always enables EHT PHY
mode during vdev start but with the special firmware that will cause a
firmware crash during vdev start in firmware initialisation. This is
because the firmware will use the EHT mode to allocate resources but as
the EHT mode is not available in the firmware, there's an internal
conflict and the firmware will crash.

To fix the crash check the WMI_TLV_SERVICE_11BE flag to see if the firmware
supports EHT. If EHT is not supported downgrade the PHY mode to HE
(IEEE 802.11ax).

This does not impact QCN9274, because WMI_SERVICE_11BE is always enabled
for QCN9274, then eht_cap->has_eht will always set for it, and the logic
of this patch will not take effect and the PHY mode will not down grade
for it.

Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4

Signed-off-by: Wen Gong <quic_wgong@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20230913105757.17744-1-quic_wgong@quicinc.com
History 2023-10-02 19:53:36 +03:00
..
admtek wifi: mac80211: add wake_tx_queue callback to drivers 2022-10-10 11:00:03 +02:00
ath wifi: ath12k: add keep backward compatibility of PHY mode to avoid firmware crash 2023-10-02 19:53:36 +03:00
atmel Fix nomenclature for USB and PCI wireless devices 2023-08-25 12:56:49 +03:00
broadcom wifi: cfg80211: split struct cfg80211_ap_settings 2023-09-25 09:00:39 +02:00
cisco wifi: airo: avoid uninitialized warning in airo_get_rate() 2023-07-11 19:22:54 -07:00
intel wifi: iwlwifi: add mapping of a periphery register crf for WH RF 2023-09-25 09:15:00 +02:00
intersil Fix nomenclature for USB and PCI wireless devices 2023-08-25 12:56:49 +03:00
legacy Fix nomenclature for USB and PCI wireless devices 2023-08-25 12:56:49 +03:00
marvell wifi: cfg80211: split struct cfg80211_ap_settings 2023-09-25 09:00:39 +02:00
mediatek wifi: cfg80211: annotate iftype_data pointer with sparse 2023-09-11 11:27:23 +02:00
microchip wifi: cfg80211: split struct cfg80211_ap_settings 2023-09-25 09:00:39 +02:00
purelifi wifi: plfxlc: fix clang-specific fortify warning 2023-09-04 20:33:34 +03:00
quantenna wifi: cfg80211: split struct cfg80211_ap_settings 2023-09-25 09:00:39 +02:00
ralink wifi: rt2x00: remove redundant check if u8 array element is less than zero 2023-09-28 19:24:30 +03:00
realtek wifi: rtlwifi: cleanup few rtlxxxx_set_hw_reg() routines 2023-09-28 19:25:36 +03:00
rsi wifi: rsi: rsi_91x_usb_ops: Remove unnecessary (void*) conversions 2023-08-23 14:07:16 +03:00
silabs wifi: wfx: Use devm_kmemdup to replace devm_kmalloc + memcpy 2023-08-23 14:09:23 +03:00
st wifi: cw1200: Avoid processing an invalid TIM IE 2023-09-18 17:28:12 +03:00
ti wifi: wlcore: Convert to platform remove callback returning void 2023-09-18 17:31:37 +03:00
virtual wifi: mac80211_hwsim: Handle BSS_CHANGED_VALID_LINKS 2023-09-25 09:12:33 +02:00
zydas Fix nomenclature for USB and PCI wireless devices 2023-08-25 12:56:49 +03:00
Kconfig wifi: move raycs, wl3501 and rndis_wlan to legacy directory 2023-03-13 15:42:14 +02:00
Makefile wifi: move raycs, wl3501 and rndis_wlan to legacy directory 2023-03-13 15:42:14 +02:00