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:

committed by
Madan Koyyalamudi

parent
fff96f4fc8
commit
ceb51f6e10
@@ -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++;
|
||||
}
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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 ==
|
||||
|
Reference in New Issue
Block a user