qcacld-3.0: Don't process the beacon in non-connected state

Beacon/probe resp needs to be processed only if it's received
as part of join(eLIM_MLM_WT_JOIN_BEACON_STATE). But beacons are
processed after join phase and before connect completion also.
This delays actual connection if there are any critical
updates(e.g. VHT IE update) in beacon. These beacons need not
be honored before connect completion.
So, drop the beacon frames if received during connect.
Also, reduce the log level for error cases while processing beacon
in lim_update_sta_run_time_ht_switch_chnl_params().

Change-Id: If2f4ee05eeb27d26964daf8dfc6e7c9b4fb3144c
CRs-Fixed: 3624753
Этот коммит содержится в:
Srinivas Dasari
2023-10-03 12:20:52 +05:30
коммит произвёл Rahul Choudhary
родитель 44ac03a6ee
Коммит 27073364a4
2 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@@ -3852,7 +3852,7 @@ void lim_update_sta_run_time_ht_switch_chnl_params(struct mac_context *mac,
}
if (!wlan_cm_is_vdev_connected(pe_session->vdev)) {
pe_err("vdev not connected, ignore HT IE BW update");
pe_debug_rl("vdev not connected, ignore HT IE BW update");
return;
}

Просмотреть файл

@@ -1025,6 +1025,13 @@ sch_beacon_process(struct mac_context *mac_ctx, uint8_t *rx_pkt_info,
if (!session)
return;
if (LIM_IS_STA_ROLE(session) &&
!wlan_cm_is_vdev_connected(session->vdev)) {
pe_debug_rl("vdev %d, drop beacon", session->vdev_id);
return;
}
/* Convert the beacon frame into a structure */
if (sir_convert_beacon_frame2_struct(mac_ctx, (uint8_t *) rx_pkt_info,
&bcn) != QDF_STATUS_SUCCESS) {