wifi: ath11k: remove invalid peer create logic
authorBaochen Qiang <quic_bqiang@quicinc.com>
Tue, 23 Jan 2024 02:56:57 +0000 (10:56 +0800)
committerKalle Valo <quic_kvalo@quicinc.com>
Thu, 25 Jan 2024 16:44:01 +0000 (18:44 +0200)
In ath11k_mac_op_assign_vif_chanctx(), there is a logic to
create peer using ar->mac_addr for a STA vdev. This is invalid
because a STA vdev should have a peer created using AP's
MAC address. Besides, if we run into that logic, it means a peer
has already been created earlier, we should not create it again.
So remove it.

This is found during code review.

Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.23
Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1

Signed-off-by: Baochen Qiang <quic_bqiang@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20240123025700.2929-2-quic_bqiang@quicinc.com
drivers/net/wireless/ath/ath11k/mac.c

index bf4a97967177e0a6769921d336d30de54829bb2c..33ab66afb97f5b765a77651f22887ac32ff30253 100644 (file)
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: BSD-3-Clause-Clear
 /*
  * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #include <net/mac80211.h>
@@ -8108,7 +8108,6 @@ ath11k_mac_op_assign_vif_chanctx(struct ieee80211_hw *hw,
        struct ath11k_base *ab = ar->ab;
        struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif);
        int ret;
-       struct peer_create_params param;
        struct cur_regulatory_info *reg_info;
        enum ieee80211_ap_reg_power power_type;
 
@@ -8151,21 +8150,6 @@ ath11k_mac_op_assign_vif_chanctx(struct ieee80211_hw *hw,
                goto out;
        }
 
-       if (ab->hw_params.vdev_start_delay &&
-           arvif->vdev_type != WMI_VDEV_TYPE_AP &&
-           arvif->vdev_type != WMI_VDEV_TYPE_MONITOR) {
-               param.vdev_id = arvif->vdev_id;
-               param.peer_type = WMI_PEER_TYPE_DEFAULT;
-               param.peer_addr = ar->mac_addr;
-
-               ret = ath11k_peer_create(ar, arvif, NULL, &param);
-               if (ret) {
-                       ath11k_warn(ab, "failed to create peer after vdev start delay: %d",
-                                   ret);
-                       goto out;
-               }
-       }
-
        if (arvif->vdev_type == WMI_VDEV_TYPE_MONITOR) {
                ret = ath11k_mac_monitor_start(ar);
                if (ret) {