diff --git a/core/mac/src/pe/lim/lim_mlo.c b/core/mac/src/pe/lim/lim_mlo.c index d5451530b9..4de490e200 100644 --- a/core/mac/src/pe/lim/lim_mlo.c +++ b/core/mac/src/pe/lim/lim_mlo.c @@ -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++; } diff --git a/core/mac/src/pe/lim/lim_process_beacon_frame.c b/core/mac/src/pe/lim/lim_process_beacon_frame.c index 7a5ebeaa63..81e40ac366 100644 --- a/core/mac/src/pe/lim/lim_process_beacon_frame.c +++ b/core/mac/src/pe/lim/lim_process_beacon_frame.c @@ -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 diff --git a/core/mac/src/pe/lim/lim_process_probe_rsp_frame.c b/core/mac/src/pe/lim/lim_process_probe_rsp_frame.c index 6cbbe64310..d37f6f9571 100644 --- a/core/mac/src/pe/lim/lim_process_probe_rsp_frame.c +++ b/core/mac/src/pe/lim/lim_process_probe_rsp_frame.c @@ -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 ==