Browse Source

qcacld-3.0: Avoid STA CSA during connecting

When process new beacon of current AP during connecting: after pe session
created and before peer assoc, peer phy mode isn't configured, in
lim_process_beacon_eht_op, current channel width is treated as 20M wrongly,
the channel width in eht op of beacon usually larger than 20M, so CSA is
started and RSO is disabled wrongly, although CSA not handled for vdev not
up, RSO can't be enabled any more.

To fix it, only handle eht op of beacon when sta vdev connected.

Change-Id: I8f93a3fbf5ec1de868be2581b0a9a2d77743625e
CRs-Fixed: 3504210
Jianmin Zhu 1 year ago
parent
commit
da32facf8d
1 changed files with 3 additions and 1 deletions
  1. 3 1
      core/mac/src/pe/lim/lim_process_beacon_frame.c

+ 3 - 1
core/mac/src/pe/lim/lim_process_beacon_frame.c

@@ -42,6 +42,7 @@
 #include "wlan_mlo_mgr_roam.h"
 #include "lim_mlo.h"
 #include "wlan_mlo_mgr_sta.h"
+#include "wlan_cm_api.h"
 #ifdef WLAN_FEATURE_11BE_MLO
 #include <cds_ieee80211_common.h>
 #endif
@@ -377,7 +378,8 @@ void lim_process_beacon_eht(struct mac_context *mac_ctx,
 	if (!des_chan || !IS_WLAN_PHYMODE_EHT(des_chan->ch_phymode))
 		return;
 
-	lim_process_beacon_eht_op(session, bcn_ptr);
+	if (wlan_cm_is_vdev_connected(vdev))
+		lim_process_beacon_eht_op(session, bcn_ptr);
 
 	if (mlo_is_mld_sta(vdev))
 		/* handle beacon IE for 802.11be mlo case */