Merge remote-tracking branch 'origin/fix_0_tbs' into integration_2025_w41 (!3688)
Fixes to prevent assertion due to 0 PRB allocation Assertion (NPRB>0 && (NPRB + RBstart <= BWPsize)) failed! In PRBalloc_to_locationandbandwidth0() /home/user/openairinterface5g/common/utils/nr/nr_common.c:506 Illegal NPRB/RBstart Configuration (0,51) for BWPsize 51 Probably caused by missing safeguards to prevent computing TBS with 0 PRB as input.
This commit is contained in:
@@ -59,6 +59,11 @@ uint32_t nr_compute_tbs(uint16_t Qm,
|
|||||||
tb_scaling,
|
tb_scaling,
|
||||||
Nl);
|
Nl);
|
||||||
|
|
||||||
|
if (Qm == 0 || R == 0 || nb_rb == 0 || Nl == 0) {
|
||||||
|
LOG_E(NR_MAC, "Error in compute TBS with a NULL input, returning NULL TBS\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
const int nb_subcarrier_per_rb = 12;
|
const int nb_subcarrier_per_rb = 12;
|
||||||
const uint32_t nbp_re = nb_subcarrier_per_rb * nb_symb_sch - nb_dmrs_prb - nb_rb_oh;
|
const uint32_t nbp_re = nb_subcarrier_per_rb * nb_symb_sch - nb_dmrs_prb - nb_rb_oh;
|
||||||
const uint32_t nb_re = min(156, nbp_re) * nb_rb;
|
const uint32_t nb_re = min(156, nbp_re) * nb_rb;
|
||||||
|
|||||||
@@ -673,8 +673,7 @@ bool nr_find_nb_rb(uint16_t Qm,
|
|||||||
uint16_t *nb_rb)
|
uint16_t *nb_rb)
|
||||||
{
|
{
|
||||||
// for transform precoding only RB = 2^a_2 * 3^a_3 * 5^a_5 is allowed with a non-negative
|
// for transform precoding only RB = 2^a_2 * 3^a_3 * 5^a_5 is allowed with a non-negative
|
||||||
while(transform_precoding == NR_PUSCH_Config__transformPrecoder_enabled &&
|
while (transform_precoding == NR_PUSCH_Config__transformPrecoder_enabled && !multiple_2_3_5(nb_rb_max))
|
||||||
!multiple_2_3_5(nb_rb_max))
|
|
||||||
nb_rb_max--;
|
nb_rb_max--;
|
||||||
|
|
||||||
/* is the maximum (not even) enough? */
|
/* is the maximum (not even) enough? */
|
||||||
|
|||||||
Reference in New Issue
Block a user