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
ZhouShuya
OpenXG-RAN
Commits
8750aceb
Commit
8750aceb
authored
Nov 07, 2016
by
GabrirelCouturier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[OAI-UE] fix for issue#14: segmentation fault in turbo decoder
parent
9fbbd067
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
48 additions
and
5 deletions
+48
-5
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+33
-0
openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
+11
-1
openair1/SCHED/phy_procedures_lte_ue.c
openair1/SCHED/phy_procedures_lte_ue.c
+2
-2
openair1/SCHED/pucch_pc.c
openair1/SCHED/pucch_pc.c
+2
-2
No files found.
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
8750aceb
...
...
@@ -1260,6 +1260,11 @@ int generate_eNB_dlsch_params_from_dci(int frame,
dlsch0_harq
->
TBS
=
TBStable
[
get_I_TBS
(
dlsch0_harq
->
mcs
)][
NPRB
-
1
];
}
else
{
LOG_E
(
PHY
,
"DL Received HarqReTx round=%d mcs=%d rballoc=%d rv=%d
\n
"
,
dlsch0_harq
->
round
,
mcs
,
rballoc
,
rv
);
}
dlsch
[
0
]
->
current_harq_pid
=
harq_pid
;
...
...
@@ -4143,6 +4148,20 @@ int generate_ue_dlsch_params_from_dci(int frame,
dlsch0_harq
->
DCINdi
=
ndi
;
// this a retransmission
if
(
dlsch0_harq
->
round
)
{
// compare old TBS to new TBS
if
(
dlsch0_harq
->
TBS
!=
TBStable
[
get_I_TBS
(
mcs
)][
NPRB
-
1
])
{
// this is an eNB issue
// retransmisison but old and new TBS are different !!!
// work around, consider it as a new transmission
LOG_E
(
PHY
,
"Format1A Retransmission but TBS are different: consider it as new transmission !!!
\n
"
);
dlsch0_harq
->
round
=
0
;
}
}
dlsch0_harq
->
mcs
=
mcs
;
if
((
rnti
==
si_rnti
)
||
(
rnti
==
p_rnti
)
||
(
rnti
==
ra_rnti
))
{
dlsch0_harq
->
TBS
=
TBStable
[
mcs
][
NPRB
-
1
];
...
...
@@ -4452,6 +4471,20 @@ int generate_ue_dlsch_params_from_dci(int frame,
dlsch0_harq
->
mcs
=
mcs
;
// this a retransmission
if
(
dlsch0_harq
->
round
)
{
// compare old TBS to new TBS
if
(
dlsch0_harq
->
TBS
!=
TBStable
[
get_I_TBS
(
mcs
)][
NPRB
-
1
])
{
// this is an eNB issue
// retransmisison but old and new TBS are different !!!
// work around, consider it as a new transmission
LOG_E
(
PHY
,
"Format1 Retransmission but TBS are different: consider it as new transmission !!!
\n
"
);
dlsch0_harq
->
round
=
0
;
}
}
dlsch0_harq
->
TBS
=
TBStable
[
get_I_TBS
(
mcs
)][
NPRB
-
1
];
if
(
mcs
<=
28
)
dlsch0_harq
->
Qm
=
get_Qm
(
mcs
);
...
...
openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
View file @
8750aceb
...
...
@@ -249,7 +249,12 @@ uint32_t dlsch_decoding(PHY_VARS_UE *phy_vars_ue,
tc
=
phy_threegpplte_turbo_decoder16
;
}
else
tc
=
phy_threegpplte_turbo_decoder8
;
{
AssertFatal
(
harq_process
->
TBS
>=
256
,
"Mismatch flag nbRB=%d TBS=%d mcs=%d Qm=%d RIV=%d round=%d
\n
"
,
harq_process
->
nb_rb
,
harq_process
->
TBS
,
harq_process
->
mcs
,
harq_process
->
Qm
,
harq_process
->
rvidx
,
harq_process
->
round
);
tc
=
phy_threegpplte_turbo_decoder8
;
}
// nb_rb = dlsch->nb_rb;
...
...
@@ -448,6 +453,11 @@ uint32_t dlsch_decoding(PHY_VARS_UE *phy_vars_ue,
#if 1
if
(
err_flag
==
0
)
{
if
(
llr8_flag
)
{
AssertFatal
(
Kr
>=
256
,
"turbo algo issue Kr=%d cb_cnt=%d C=%d nbRB=%d TBSInput=%d TBSHarq=%d TBSplus24=%d mcs=%d Qm=%d RIV=%d round=%d
\n
"
,
Kr
,
r
,
harq_process
->
C
,
harq_process
->
nb_rb
,
A
,
harq_process
->
TBS
,
harq_process
->
B
,
harq_process
->
mcs
,
harq_process
->
Qm
,
harq_process
->
rvidx
,
harq_process
->
round
);
}
start_meas
(
dlsch_turbo_decoding_stats
);
ret
=
tc
(
&
harq_process
->
d
[
r
][
96
],
...
...
openair1/SCHED/phy_procedures_lte_ue.c
View file @
8750aceb
...
...
@@ -2579,7 +2579,7 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint
if
(
generate_ue_dlsch_params_from_dci
(
frame_rx
,
subframe_rx
,
(
void
*
)
&
dci_alloc_rx
[
i
].
dci_pdu
,
SI
_RNTI
,
P
_RNTI
,
dci_alloc_rx
[
i
].
format
,
&
ue
->
dlsch_SI
[
eNB_id
],
&
ue
->
frame_parms
,
...
...
@@ -3072,7 +3072,7 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
subframe_rx
,
harq_pid
,
pdsch
==
PDSCH
?
1
:
0
,
dlsch0
->
harq_processes
[
harq_pid
]
->
nb_rb
>
10
?
1
:
0
);
dlsch0
->
harq_processes
[
harq_pid
]
->
TBS
>
256
?
1
:
0
);
stop_meas
(
&
ue
->
dlsch_decoding_stats
);
}
...
...
openair1/SCHED/pucch_pc.c
View file @
8750aceb
...
...
@@ -88,7 +88,7 @@ int8_t pucch_power_cntl(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t subframe,ui
}
if
(
pucch_fmt
!=
pucch_format1
)
{
LOG_
I
(
PHY
,
"[UE %d][PDSCH %x] frame %d, subframe %d: Po_PUCCH %d dBm : Po_NOMINAL_PUCCH %d dBm, PL %d dB, g_pucch %d dB
\n
"
,
LOG_
D
(
PHY
,
"[UE %d][PDSCH %x] frame %d, subframe %d: Po_PUCCH %d dBm : Po_NOMINAL_PUCCH %d dBm, PL %d dB, g_pucch %d dB
\n
"
,
ue
->
Mod_id
,
ue
->
dlsch
[
eNB_id
][
0
]
->
rnti
,
proc
->
frame_tx
,
subframe
,
Po_PUCCH
,
...
...
@@ -96,7 +96,7 @@ int8_t pucch_power_cntl(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t subframe,ui
get_PL
(
ue
->
Mod_id
,
ue
->
CC_id
,
eNB_id
),
ue
->
dlsch
[
eNB_id
][
0
]
->
g_pucch
);
}
else
{
LOG_
I
(
PHY
,
"[UE %d][SR %x] frame %d, subframe %d: Po_PUCCH %d dBm : Po_NOMINAL_PUCCH %d dBm, PL %d dB g_pucch %d dB
\n
"
,
LOG_
D
(
PHY
,
"[UE %d][SR %x] frame %d, subframe %d: Po_PUCCH %d dBm : Po_NOMINAL_PUCCH %d dBm, PL %d dB g_pucch %d dB
\n
"
,
ue
->
Mod_id
,
ue
->
dlsch
[
eNB_id
][
0
]
->
rnti
,
proc
->
frame_tx
,
subframe
,
Po_PUCCH
,
...
...
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