wifi: ath12k: fix broken structure wmi_vdev_create_cmd
authorKang Yang <quic_kangyang@quicinc.com>
Mon, 5 Feb 2024 17:03:27 +0000 (19:03 +0200)
committerKalle Valo <quic_kvalo@quicinc.com>
Wed, 7 Feb 2024 15:06:58 +0000 (17:06 +0200)
Current structure wmi_vdev_create_cmd is not matched to the firmware
definition. So update it.

And update vdev_stats_id_valid for vdev_stats_id.

Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1

Signed-off-by: Kang Yang <quic_kangyang@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20240130040303.370590-2-quic_kangyang@quicinc.com
drivers/net/wireless/ath/ath12k/wmi.c
drivers/net/wireless/ath/ath12k/wmi.h

index 5acbed4f64f25c931cc4d4956867545da76880c4..49ac8d4ccbef3da40811e554f03f80ab7266d861 100644 (file)
@@ -824,6 +824,9 @@ int ath12k_wmi_vdev_create(struct ath12k *ar, u8 *macaddr,
        cmd->vdev_stats_id = cpu_to_le32(args->if_stats_id);
        ether_addr_copy(cmd->vdev_macaddr.addr, macaddr);
 
+       if (args->if_stats_id != ATH12K_INVAL_VDEV_STATS_ID)
+               cmd->vdev_stats_id_valid = cpu_to_le32(BIT(0));
+
        ptr = skb->data + sizeof(*cmd);
        len = WMI_NUM_SUPPORTED_BAND_MAX * sizeof(*txrx_streams);
 
index dceb55ca153afefd18fe3b7e0cf09fb557601a12..61b2dd1d32cdfe05934e25d42c6226c850dd3bd9 100644 (file)
@@ -2724,6 +2724,9 @@ struct wmi_vdev_create_cmd {
        struct ath12k_wmi_mac_addr_params vdev_macaddr;
        __le32 num_cfg_txrx_streams;
        __le32 pdev_id;
+       __le32 mbssid_flags;
+       __le32 mbssid_tx_vdev_id;
+       __le32 vdev_stats_id_valid;
        __le32 vdev_stats_id;
 } __packed;