qcacld-3.0: Optimize the critical update feature

1\ Optimize the log output;
2\ Remove the duplicate code;
3\ Fix issue about processing partner link in probe response frame.

Change-Id: I05a67cf9ee7c017c6f76924f9cf08bbe2185b81c
CRs-Fixed: 3410878
This commit is contained in:
Paul Zhang
2023-02-23 22:04:37 +08:00
committed by Madan Koyyalamudi
parent fff96f4fc8
commit ceb51f6e10
3 changed files with 25 additions and 19 deletions

View File

@@ -57,8 +57,10 @@ QDF_STATUS lim_cu_info_from_rnr_per_link_id(const uint8_t *rnr,
tbtt_len = neighbor_ap_info->tbtt_header.tbtt_info_length;
tbtt_type = neighbor_ap_info->tbtt_header.tbbt_info_fieldtype;
len = tbtt_len * (tbtt_count + 1) + nbr_ap_info_len;
if (data + len > rnr_end)
if (data + len > rnr_end) {
pe_debug("error about rnr length");
return QDF_STATUS_E_INVAL;
}
if (tbtt_len >=
TBTT_NEIGHBOR_AP_BSSID_S_SSID_BSS_PARAM_20MHZ_PSD_MLD_PARAM)
@@ -105,6 +107,7 @@ QDF_STATUS lim_get_bpcc_from_mlo_ie(tSchBeaconStruct *bcn, uint8_t *bpcc)
if (mlo_ie->mlo_ie_present &&
mlo_ie->mlo_ie.bss_param_change_cnt_present) {
*bpcc = mlo_ie->mlo_ie.bss_param_change_count;
pe_debug("mlie bpcc %d", *bpcc);
status = QDF_STATUS_SUCCESS;
} else {
*bpcc = 0;
@@ -131,8 +134,8 @@ bool lim_check_cu_happens(struct wlan_objmgr_vdev *vdev, uint8_t new_bpcc)
if (new_bpcc == 0 && bpcc == 0)
return false;
pe_debug("new bpcc %d, old bpcc %d, vdev id %d",
new_bpcc, bpcc, vdev_id);
pe_debug_rl("vdev id %d new bpcc %d, old bpcc %d",
vdev_id, new_bpcc, bpcc);
if (new_bpcc && new_bpcc < bpcc)
return false;
@@ -545,7 +548,7 @@ QDF_STATUS lim_mlo_proc_assoc_req_frm(struct wlan_objmgr_vdev *vdev,
tSirMacFrameCtl fc;
tpSirAssocReq assoc_req;
QDF_STATUS status;
qdf_size_t link_frame_len;
qdf_size_t link_frame_len = 0;
struct qdf_mac_addr link_bssid;
if (!vdev) {
@@ -1099,8 +1102,8 @@ QDF_STATUS lim_store_mlo_ie_raw_info(uint8_t *ie, uint8_t *sta_prof_ie,
}
ml_ie_len = total_len - frag_num * MIN_IE_LEN;
pe_debug("ml_ie_len: %d, total_len: %d, frag_num: %d", ml_ie_len,
total_len, frag_num);
pe_debug_rl("ml_ie_len: %d, total_len: %d, frag_num: %d", ml_ie_len,
total_len, frag_num);
buf = qdf_mem_malloc(total_len);
if (!buf)
@@ -1154,8 +1157,8 @@ QDF_STATUS lim_store_mlo_ie_raw_info(uint8_t *ie, uint8_t *sta_prof_ie,
}
pfrm += pfrm[TAG_LEN_POS] + MIN_IE_LEN;
} while (frag);
pe_debug("sta index: %d, sta_data len: %d, copied: %d",
sta_index, index, copied);
pe_debug_rl("sta index: %d, sta_data len: %d, copied: %d",
sta_index, index, copied);
sta_index++;
}

View File

@@ -461,8 +461,6 @@ lim_process_beacon_frame(struct mac_context *mac_ctx, uint8_t *rx_pkt_info,
if (QDF_IS_STATUS_SUCCESS(lim_check_for_ml_probe_req(session)))
goto end;
lim_process_beacon_eht(mac_ctx, session, bcn_ptr);
/*
* during scanning, when any session is active, and
* beacon/Pr belongs to one of the session, fill up the

View File

@@ -165,7 +165,7 @@ void lim_process_gen_probe_rsp_frame(struct mac_context *mac_ctx,
uint8_t *bcn_probe, uint32_t len)
{
tSirProbeRespBeacon *probe_rsp;
tpSirMacMgmtHdr header;
struct wlan_frame_hdr *header;
QDF_STATUS status;
if (!bcn_probe || !len) {
@@ -184,9 +184,15 @@ void lim_process_gen_probe_rsp_frame(struct mac_context *mac_ctx,
return;
}
header = (tpSirMacMgmtHdr)(bcn_probe);
pe_debug("Generate Probe Resp(len %d): " QDF_MAC_ADDR_FMT,
len, QDF_MAC_ADDR_REF(header->bssId));
header = (struct wlan_frame_hdr *)(bcn_probe);
pe_debug("Generate Probe Resp for cu (len %d): " QDF_MAC_ADDR_FMT,
len, QDF_MAC_ADDR_REF(header->i_addr3));
QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_PE, QDF_TRACE_LEVEL_DEBUG,
bcn_probe, len);
bcn_probe = (uint8_t *)(bcn_probe + sizeof(*header));
len -= sizeof(*header);
status = sir_convert_probe_frame2_struct(mac_ctx,
bcn_probe, len, probe_rsp);
@@ -258,7 +264,7 @@ lim_process_probe_rsp_frame(struct mac_context *mac_ctx, uint8_t *rx_Packet_info
frame_len = WMA_GET_RX_PAYLOAD_LEN(rx_Packet_info);
pe_debug("Probe Resp(len %d): " QDF_MAC_ADDR_FMT " RSSI %d",
WMA_GET_RX_MPDU_LEN(rx_Packet_info),
WMA_GET_RX_PAYLOAD_LEN(rx_Packet_info),
QDF_MAC_ADDR_REF(header->bssId),
(uint)abs(mac_ctx->lim.bss_rssi));
/* Get pointer to Probe Response frame body */
@@ -284,12 +290,11 @@ lim_process_probe_rsp_frame(struct mac_context *mac_ctx, uint8_t *rx_Packet_info
if (mlo_is_mld_sta(session_entry->vdev)) {
cu_flag = false;
status = lim_get_bpcc_from_mlo_ie(probe_rsp, &bpcc);
if (QDF_IS_STATUS_SUCCESS(status)) {
if (QDF_IS_STATUS_SUCCESS(status))
cu_flag = lim_check_cu_happens(session_entry->vdev,
bpcc);
lim_process_cu_for_probe_rsp(mac_ctx, session_entry,
body, frame_len);
}
lim_process_cu_for_probe_rsp(mac_ctx, session_entry,
body, frame_len);
}
if (session_entry->limMlmState ==