UE: update pdcch config only after mib read

This commit is contained in:
Raghavendra Dinavahi
2026-03-16 08:48:19 +01:00
parent fdb6b44b05
commit 18bf9d583e
3 changed files with 9 additions and 3 deletions
+2 -2
View File
@@ -2106,8 +2106,8 @@ static void handle_reconfiguration_with_sync(NR_UE_MAC_INST_t *mac,
configure_common_BWP_ul(mac, bwp_id, scc->uplinkConfigCommon->initialUplinkBWP);
// Update PDCCH config as MAC configuration has changed
if (IS_SA_MODE(get_softmodem_params()))
update_pdcch_config(mac);
// Used only in SA mode.
mac->update_pdcch_config = IS_SA_MODE(get_softmodem_params());
}
mac->state = UE_NOT_SYNC_RECONF;
+3
View File
@@ -639,6 +639,9 @@ typedef struct NR_UE_MAC_INST_s {
pthread_mutex_t if_mutex;
ue_mac_stats_t stats;
notifiedFIFO_t input_nf;
// set when mac configuration changes during reconf with sync
// reset when pdcch config is changed after pbch read after reconf
bool update_pdcch_config;
} NR_UE_MAC_INST_t;
static inline int GET_NTN_UE_K_OFFSET(const fapi_nr_ntn_config_t *ntn_ta, int scs)
@@ -461,8 +461,11 @@ void ue_dci_configuration(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_request_t *dl
NR_BWP_PDCCH_t *pdcch_config = &mac->config_BWP_PDCCH[dl_bwp_id];
int scs = current_DL_BWP ? current_DL_BWP->scs : mac->numerology;
const int slots_per_frame = get_slots_per_frame_from_scs(scs);
if (mac->get_sib1) {
if (mac->get_sib1 || mac->update_pdcch_config) {
update_pdcch_config(mac);
mac->update_pdcch_config = false;
}
if (mac->get_sib1) {
bool is_occasion = is_ss_monitor_occasion(frame, slot, slots_per_frame, mac->search_space_zero);
if (is_occasion) {
LOG_D(NR_MAC_DCI, "Monitoring DCI for SIB1 in frame %d slot %d\n", frame, slot);