wifi: ath12k: correct the data_type from QMI_OPT_FLAG to QMI_UNSIGNED_1_BYTE for...
authorWen Gong <quic_wgong@quicinc.com>
Wed, 26 Jul 2023 09:38:57 +0000 (05:38 -0400)
committerKalle Valo <quic_kvalo@quicinc.com>
Wed, 2 Aug 2023 16:54:57 +0000 (19:54 +0300)
Currently, the encoding rule for field mlo_capable in struct
qmi_wlanfw_host_cap_req_msg_v01 defined in array
qmi_wlanfw_host_cap_req_msg_v01_ei uses type QMI_OPT_FLAG.

Unfortunately, all ath12k firmware actually expects this field to be of
type NON QMI_OPT_FLAG such as QMI_UNSIGNED_1_BYTE/QMI_UNSIGNED_8_BYTE...
And as a result, firmware is unable to correctly decode the mlo_capable
field.

Change the ath12k definition as QMI_UNSIGNED_1_BYTE to match the firmware
definition so that firmware can correctly parse the mlo_capable info from
message QMI_WLANFW_HOST_CAP_REQ_V01 at wlan load time.

This is just an accidental typo and that both WCN7850 and QCN9274 firmwares
use QMI_UNSIGNED_1_BYTE.

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>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20230726093857.3610-1-quic_wgong@quicinc.com
drivers/net/wireless/ath/ath12k/qmi.c

index b510c2de1bd43bedbc8a999c606448c8cec26056..b2db0436bdde63ae75eccc37ad84d01f8372da63 100644 (file)
@@ -387,7 +387,7 @@ static struct qmi_elem_info qmi_wlanfw_host_cap_req_msg_v01_ei[] = {
                                           mlo_capable_valid),
        },
        {
-               .data_type      = QMI_OPT_FLAG,
+               .data_type      = QMI_UNSIGNED_1_BYTE,
                .elem_len       = 1,
                .elem_size      = sizeof(u8),
                .array_type     = NO_ARRAY,