Эх сурвалжийг харах

qcacmn: Skip non trans bssid look up for WIN driver alone

Issue:
TA of the MBSSID basic trigger always shows up as:
00:00:00:00:00:00, when the STA connected to Non-tx
VAP, due to which peers are not responding to the
basic trigger frames and getting more response
timeouts. This results into a dip in the throughput
(due to excessive retries).

Fix:
In AP solutions, it is expected that the non trans
bssid could be 00:00:00:00:00:00, during vdev MLME
up operation. Hnece, the updating the vdev up params
(trans bssid, profile index, profile number), should
not be dependent on the valid non trans bssid.
This condition is valid for STA solution, hence added
a opmode check specific for AP.

Change-Id: I766182c6dd0aba93d861800146eb44d3e3f6a706
CRs-Fixed: 3669310
Pooja T C 1 жил өмнө
parent
commit
e1c471c791

+ 7 - 3
umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c

@@ -1,6 +1,6 @@
 /*
 /*
  * Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
  * Copyright (c) 2019-2021 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.
  *
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
  * any purpose with or without fee is hereby granted, provided that the
@@ -705,8 +705,12 @@ static QDF_STATUS vdev_mgr_up_param_update(
 
 
 	mbss = &mlme_obj->mgmt.mbss_11ax;
 	mbss = &mlme_obj->mgmt.mbss_11ax;
 	wlan_vdev_mgr_get_param_bssid(vdev, bssid);
 	wlan_vdev_mgr_get_param_bssid(vdev, bssid);
-	if (qdf_mem_cmp(bssid, mbss->non_trans_bssid, QDF_MAC_ADDR_SIZE))
-		return QDF_STATUS_SUCCESS;
+
+	if (wlan_vdev_mlme_get_opmode(vdev) != QDF_SAP_MODE) {
+		if (qdf_mem_cmp(bssid, mbss->non_trans_bssid,
+				QDF_MAC_ADDR_SIZE))
+			return QDF_STATUS_SUCCESS;
+	}
 
 
 	param->profile_idx = mbss->profile_idx;
 	param->profile_idx = mbss->profile_idx;
 	param->profile_num = mbss->profile_num;
 	param->profile_num = mbss->profile_num;