wifi: ath12k: allow specific mgmt frame tx while vdev is not up
authorKang Yang <quic_kangyang@quicinc.com>
Mon, 5 Feb 2024 17:03:29 +0000 (19:03 +0200)
committerKalle Valo <quic_kvalo@quicinc.com>
Wed, 7 Feb 2024 15:07:00 +0000 (17:07 +0200)
In current code, the management frames must be sent after vdev is started.
But for P2P device, vdev won't start until P2P negotiation is done. So
this logic doesn't make sense for P2P device.

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-9-quic_kangyang@quicinc.com
drivers/net/wireless/ath/ath12k/mac.c

index dbaef009e9724f46b005fdbfb85007e9daf81180..04a4a7c0eedfca065e96fa7984f14852e5af2782 100644 (file)
@@ -5123,8 +5123,8 @@ static void ath12k_mgmt_over_wmi_tx_work(struct work_struct *work)
                }
 
                arvif = ath12k_vif_to_arvif(skb_cb->vif);
-               if (ar->allocated_vdev_map & (1LL << arvif->vdev_id) &&
-                   arvif->is_started) {
+
+               if (ar->allocated_vdev_map & (1LL << arvif->vdev_id)) {
                        ret = ath12k_mac_mgmt_tx_wmi(ar, arvif, skb);
                        if (ret) {
                                ath12k_warn(ar->ab, "failed to tx mgmt frame, vdev_id %d :%d\n",