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
spbro
OpenXG-RAN
Commits
599287b6
Commit
599287b6
authored
Aug 02, 2021
by
Raphael Defosseux
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/fix-retransmission-rbg' into develop
parents
5adf940b
4a2c0b1e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
0 deletions
+19
-0
openair2/LAYER2/MAC/pre_processor.c
openair2/LAYER2/MAC/pre_processor.c
+19
-0
No files found.
openair2/LAYER2/MAC/pre_processor.c
View file @
599287b6
...
@@ -113,10 +113,29 @@ bool try_allocate_harq_retransmission(module_id_t Mod_id,
...
@@ -113,10 +113,29 @@ bool try_allocate_harq_retransmission(module_id_t Mod_id,
LOG_D
(
MAC
,
"cannot allocate UE %d: no CCE can be allocated
\n
"
,
UE_id
);
LOG_D
(
MAC
,
"cannot allocate UE %d: no CCE can be allocated
\n
"
,
UE_id
);
return
false
;
return
false
;
}
}
/* if nb_rb is not multiple of RBGsize, then last RBG must be free
* (it will be allocated just below)
*/
if
(
nb_rb
%
RBGsize
&&
!
rbgalloc_mask
[
N_RBG
-
1
])
{
LOG_E
(
MAC
,
"retransmission: last RBG already allocated (this should not happen)
\n
"
);
return
false
;
}
ue_ctrl
->
pre_dci_dl_pdu_idx
=
idx
;
ue_ctrl
->
pre_dci_dl_pdu_idx
=
idx
;
// retransmissions: directly allocate
// retransmissions: directly allocate
*
n_rbg_sched
-=
nb_rbg
;
*
n_rbg_sched
-=
nb_rbg
;
ue_ctrl
->
pre_nb_available_rbs
[
CC_id
]
+=
nb_rb
;
ue_ctrl
->
pre_nb_available_rbs
[
CC_id
]
+=
nb_rb
;
if
(
nb_rb
%
RBGsize
)
{
/* special case: if nb_rb is not multiple of RBGsize, then allocate last RBG.
* If we instead allocated another RBG then we will retransmit with more
* RBs and the UE will not accept it.
* (This has been seen in a test with cots UEs, if not true, then change
* code as needed.)
* At this point rbgalloc_mask[N_RBG-1] == 1 due to the test above.
*/
ue_ctrl
->
rballoc_sub_UE
[
CC_id
][
N_RBG
-
1
]
=
1
;
rbgalloc_mask
[
N_RBG
-
1
]
=
0
;
nb_rbg
--
;
}
for
(;
nb_rbg
>
0
;
start_rbg
++
)
{
for
(;
nb_rbg
>
0
;
start_rbg
++
)
{
if
(
!
rbgalloc_mask
[
start_rbg
])
if
(
!
rbgalloc_mask
[
start_rbg
])
continue
;
continue
;
...
...
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