Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lizhongxiao
OpenXG-RAN
Commits
d0b91a2a
Commit
d0b91a2a
authored
Sep 19, 2023
by
Laurent THOMAS
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix UE segv if current_DL_BWP->pdsch_servingcellconfig->ext1 is NULL (as it is optional
parent
afc75c5d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
16 additions
and
20 deletions
+16
-20
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
+6
-10
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+4
-3
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+6
-7
No files found.
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
View file @
d0b91a2a
...
@@ -2928,16 +2928,12 @@ uint8_t compute_srs_resource_indicator(NR_PUSCH_ServingCellConfig_t *pusch_servi
...
@@ -2928,16 +2928,12 @@ uint8_t compute_srs_resource_indicator(NR_PUSCH_ServingCellConfig_t *pusch_servi
//
//
// - otherwise, Lmax is given by the maximum number of layers for PUSCH supported by the UE for the serving cell
// - otherwise, Lmax is given by the maximum number of layers for PUSCH supported by the UE for the serving cell
// for non-codebook based operation.
// for non-codebook based operation.
int
Lmax
=
0
;
int
Lmax
=
1
;
if
(
pusch_servingcellconfig
!=
NULL
)
{
if
(
pusch_servingcellconfig
&&
pusch_servingcellconfig
->
ext1
)
if
(
pusch_servingcellconfig
->
ext1
->
maxMIMO_Layers
!=
NULL
)
{
Lmax
=
*
pusch_servingcellconfig
->
ext1
->
maxMIMO_Layers
;
Lmax
=
*
pusch_servingcellconfig
->
ext1
->
maxMIMO_Layers
;
else
if
(
pusch_Config
)
}
else
{
Lmax
=
*
pusch_Config
->
maxRank
;
AssertFatal
(
1
==
0
,
"MIMO on PUSCH not supported, maxMIMO_Layers needs to be set to 1
\n
"
);
}
}
else
{
AssertFatal
(
1
==
0
,
"MIMO on PUSCH not supported, maxMIMO_Layers needs to be set to 1
\n
"
);
}
int
lmin
=
0
;
int
lmin
=
0
;
int
lsum
=
0
;
int
lsum
=
0
;
int
count
=
0
;
int
count
=
0
;
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
d0b91a2a
...
@@ -1113,9 +1113,10 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
...
@@ -1113,9 +1113,10 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
nb_rb_oh
,
0
,
Nl
);
nb_rb_oh
,
0
,
Nl
);
// TBS_LBRM according to section 5.4.2.1 of 38.212
// TBS_LBRM according to section 5.4.2.1 of 38.212
long
*
maxMIMO_Layers
=
current_DL_BWP
->
pdsch_servingcellconfig
->
ext1
->
maxMIMO_Layers
;
long
maxMIMO_Layers
=
1
;
AssertFatal
(
maxMIMO_Layers
!=
NULL
,
"Option with max MIMO layers not configured is not supported
\n
"
);
if
(
current_DL_BWP
->
pdsch_servingcellconfig
->
ext1
)
int
nl_tbslbrm
=
*
maxMIMO_Layers
<
4
?
*
maxMIMO_Layers
:
4
;
maxMIMO_Layers
=
*
current_DL_BWP
->
pdsch_servingcellconfig
->
ext1
->
maxMIMO_Layers
;
int
nl_tbslbrm
=
maxMIMO_Layers
<
4
?
maxMIMO_Layers
:
4
;
int
bw_tbslbrm
=
get_dlbw_tbslbrm
(
current_DL_BWP
->
initial_BWPSize
,
mac
->
cg
);
int
bw_tbslbrm
=
get_dlbw_tbslbrm
(
current_DL_BWP
->
initial_BWPSize
,
mac
->
cg
);
dlsch_config_pdu_1_1
->
tbslbrm
=
nr_compute_tbslbrm
(
dlsch_config_pdu_1_1
->
mcs_table
,
dlsch_config_pdu_1_1
->
tbslbrm
=
nr_compute_tbslbrm
(
dlsch_config_pdu_1_1
->
mcs_table
,
bw_tbslbrm
,
bw_tbslbrm
,
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
d0b91a2a
...
@@ -662,14 +662,13 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
...
@@ -662,14 +662,13 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
N_PRB_oh
=
0
;
N_PRB_oh
=
0
;
if
(
current_UL_BWP
->
pusch_servingcellconfig
&&
current_UL_BWP
->
pusch_servingcellconfig
->
rateMatching
)
{
if
(
current_UL_BWP
->
pusch_servingcellconfig
&&
current_UL_BWP
->
pusch_servingcellconfig
->
rateMatching
)
{
long
*
maxMIMO_Layers
=
current_UL_BWP
->
pusch_servingcellconfig
->
ext1
->
maxMIMO_Layers
;
long
maxMIMO_Layers
=
1
;
if
(
!
maxMIMO_Layers
)
if
(
current_UL_BWP
->
pusch_servingcellconfig
->
ext1
)
maxMIMO_Layers
=
pusch_Config
?
pusch_Config
->
maxRank
:
NULL
;
maxMIMO_Layers
=
*
current_UL_BWP
->
pusch_servingcellconfig
->
ext1
->
maxMIMO_Layers
;
AssertFatal
(
maxMIMO_Layers
!=
NULL
,
"Option with max MIMO layers not configured is not supported
\n
"
);
else
if
(
pusch_Config
)
maxMIMO_Layers
=
*
pusch_Config
->
maxRank
;
int
bw_tbslbrm
=
get_ulbw_tbslbrm
(
current_UL_BWP
->
initial_BWPSize
,
mac
->
cg
);
int
bw_tbslbrm
=
get_ulbw_tbslbrm
(
current_UL_BWP
->
initial_BWPSize
,
mac
->
cg
);
pusch_config_pdu
->
tbslbrm
=
nr_compute_tbslbrm
(
pusch_config_pdu
->
mcs_table
,
pusch_config_pdu
->
tbslbrm
=
nr_compute_tbslbrm
(
pusch_config_pdu
->
mcs_table
,
bw_tbslbrm
,
maxMIMO_Layers
);
bw_tbslbrm
,
*
maxMIMO_Layers
);
}
else
}
else
pusch_config_pdu
->
tbslbrm
=
0
;
pusch_config_pdu
->
tbslbrm
=
0
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment