wifi: ath11k: qmi: refactor ath11k_qmi_m3_load()
authorKalle Valo <quic_kvalo@quicinc.com>
Wed, 18 Oct 2023 08:37:06 +0000 (11:37 +0300)
committerKalle Valo <quic_kvalo@quicinc.com>
Wed, 25 Oct 2023 09:54:21 +0000 (12:54 +0300)
commitb49381d3de3af1b84b4b1f08eda301b8befb4b05
tree6c1ade677922941da3dc6983ee038474594452fb
parent2e66190e0d87a7266c89728565e0681b22e68f30
wifi: ath11k: qmi: refactor ath11k_qmi_m3_load()

Simple refactoring to make it easier to add firmware-2.bin support in the
following patch.

Earlier ath11k_qmi_m3_load() supported changing m3.bin contents while ath11k is
running. But that's not going to actually work, m3.bin is supposed to be the
same during the lifetime of ath11k, for example we don't support changing the
firmware capabilities on the fly. Due to this ath11k requests m3.bin firmware
file first and only then checks m3_mem->vaddr, so we are basically requesting
the firmware file even if it's not needed. Reverse the code so that m3_mem
buffer is checked first, and only if it doesn't exist, then m3.bin is requested
from user space.

Checking for m3_mem->size is redundant when m3_mem->vaddr is NULL, we would
not be able to use the buffer in that case. So remove the check for size.

Simplify the exit handling and use 'goto out'.

Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.9

Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Reviewed-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Link: https://lore.kernel.org/r/20230727100430.3603551-3-kvalo@kernel.org
drivers/net/wireless/ath/ath11k/qmi.c