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
常顺宇
OpenXG-RAN
Commits
423a0e4a
Commit
423a0e4a
authored
Feb 05, 2021
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Handle UL HARQ slot wrap around for slot = 0
parent
8bd3ec76
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
1 deletion
+8
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+8
-1
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
423a0e4a
...
@@ -310,6 +310,9 @@ void handle_nr_ul_harq(module_id_t mod_id,
...
@@ -310,6 +310,9 @@ void handle_nr_ul_harq(module_id_t mod_id,
sub_frame_t
slot
,
sub_frame_t
slot
,
const
nfapi_nr_crc_t
*
crc_pdu
)
const
nfapi_nr_crc_t
*
crc_pdu
)
{
{
const
NR_ServingCellConfigCommon_t
*
scc
=
RC
.
nrmac
[
mod_id
]
->
common_channels
->
ServingCellConfigCommon
;
const
int
num_slots
=
nr_slots_per_frame
[
*
scc
->
ssbSubcarrierSpacing
];
int
UE_id
=
find_nr_UE_id
(
mod_id
,
crc_pdu
->
rnti
);
int
UE_id
=
find_nr_UE_id
(
mod_id
,
crc_pdu
->
rnti
);
if
(
UE_id
<
0
)
{
if
(
UE_id
<
0
)
{
LOG_E
(
MAC
,
"%s(): unknown RNTI %04x in PUSCH
\n
"
,
__func__
,
crc_pdu
->
rnti
);
LOG_E
(
MAC
,
"%s(): unknown RNTI %04x in PUSCH
\n
"
,
__func__
,
crc_pdu
->
rnti
);
...
@@ -330,7 +333,11 @@ void handle_nr_ul_harq(module_id_t mod_id,
...
@@ -330,7 +333,11 @@ void handle_nr_ul_harq(module_id_t mod_id,
DevAssert
(
harq_pid
==
crc_pdu
->
harq_id
);
DevAssert
(
harq_pid
==
crc_pdu
->
harq_id
);
remove_front_nr_list
(
&
sched_ctrl
->
feedback_ul_harq
);
remove_front_nr_list
(
&
sched_ctrl
->
feedback_ul_harq
);
NR_UE_ul_harq_t
*
harq
=
&
sched_ctrl
->
ul_harq_processes
[
harq_pid
];
NR_UE_ul_harq_t
*
harq
=
&
sched_ctrl
->
ul_harq_processes
[
harq_pid
];
DevAssert
(
harq
->
feedback_slot
==
slot
-
1
);
const
int
feedback_slot
=
(
slot
-
1
+
num_slots
)
%
num_slots
;
AssertFatal
(
harq
->
feedback_slot
==
feedback_slot
,
"expected feedback slot %d, but found %d instead
\n
"
,
harq
->
feedback_slot
,
feedback_slot
);
DevAssert
(
harq
->
is_waiting
);
DevAssert
(
harq
->
is_waiting
);
harq
->
feedback_slot
=
-
1
;
harq
->
feedback_slot
=
-
1
;
harq
->
is_waiting
=
false
;
harq
->
is_waiting
=
false
;
...
...
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