Handling of mac-LogicalChannelConfig during reconfiguration
This commit is contained in:
committed by
Sriharsha Korada
parent
43036eb83d
commit
e5ab3e022e
@@ -612,6 +612,10 @@ void nr_rrc_mac_config_req_ue_logicalChannelBearer(module_id_t module_id,
|
|||||||
int lc_identity = rlc_bearer->logicalChannelIdentity;
|
int lc_identity = rlc_bearer->logicalChannelIdentity;
|
||||||
mac->lc_ordered_info.lcids_ordered[i] = lc_identity;
|
mac->lc_ordered_info.lcids_ordered[i] = lc_identity;
|
||||||
NR_LogicalChannelConfig_t *mac_lc_config;
|
NR_LogicalChannelConfig_t *mac_lc_config;
|
||||||
|
if (mac->logicalChannelConfig[lc_identity - 1] == NULL) {
|
||||||
|
/* setup of new LCID*/
|
||||||
|
LOG_D(NR_MAC, "Establishing the logical channel %d\n", lc_identity);
|
||||||
|
AssertFatal(rlc_bearer->servedRadioBearer, "servedRadioBearer should be present for LCID establishment\n");
|
||||||
if (rlc_bearer->servedRadioBearer->present == NR_RLC_BearerConfig__servedRadioBearer_PR_srb_Identity) { /* SRB */
|
if (rlc_bearer->servedRadioBearer->present == NR_RLC_BearerConfig__servedRadioBearer_PR_srb_Identity) { /* SRB */
|
||||||
NR_SRB_Identity_t srb_id = rlc_bearer->servedRadioBearer->choice.srb_Identity;
|
NR_SRB_Identity_t srb_id = rlc_bearer->servedRadioBearer->choice.srb_Identity;
|
||||||
if (rlc_bearer->mac_LogicalChannelConfig != NULL) {
|
if (rlc_bearer->mac_LogicalChannelConfig != NULL) {
|
||||||
@@ -631,6 +635,16 @@ void nr_rrc_mac_config_req_ue_logicalChannelBearer(module_id_t module_id,
|
|||||||
mac_lc_config = rlc_bearer->mac_LogicalChannelConfig;
|
mac_lc_config = rlc_bearer->mac_LogicalChannelConfig;
|
||||||
AssertFatal(mac_lc_config != NULL, "For DRB, it should be mandatorily present\n");
|
AssertFatal(mac_lc_config != NULL, "For DRB, it should be mandatorily present\n");
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
/* LC is already established, reconfiguring the LC */
|
||||||
|
LOG_D(NR_MAC, "Logical channel %d is already established, Reconfiguring now\n", lc_identity);
|
||||||
|
if (rlc_bearer->mac_LogicalChannelConfig != NULL) {
|
||||||
|
mac_lc_config = rlc_bearer->mac_LogicalChannelConfig;
|
||||||
|
} else {
|
||||||
|
/* Need M - Maintains current value */
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
nr_configure_mac_config_logicalChannelBearer(module_id, lc_identity, mac_lc_config);
|
nr_configure_mac_config_logicalChannelBearer(module_id, lc_identity, mac_lc_config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user