From 7a6ef377b51f6edf4e7c63f9864d2467988ad47d Mon Sep 17 00:00:00 2001
From: Elena_Lukashova <elena.lukashova@eurecom.fr>
Date: Tue, 22 Nov 2016 00:30:08 +0100
Subject: [PATCH] Fixing a bug in dlsch_demodulation.c for llr calls.

---
 openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c | 10 +++++-----
 openair1/SIMULATION/LTE_PHY/dlsim.c             |  6 +-----
 2 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
index 4a75e9cbc8..aa7e8fe283 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
@@ -776,7 +776,7 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
 
   switch (dlsch0_harq->Qm) {
   case 2 :
-    if ((rx_type==rx_standard) || (codeword_TB0 = 1)) {
+    if ((rx_type==rx_standard) || (codeword_TB0 == -1) || (codeword_TB1 == -1)) {
         dlsch_qpsk_llr(frame_parms,
                        lte_ue_pdsch_vars[eNB_id]->rxdataF_comp0,
                        lte_ue_pdsch_vars[eNB_id]->llr[0],
@@ -852,7 +852,7 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
       }
     break;
   case 4 :
-    if ((rx_type==rx_standard ) || (codeword_TB0 = 1) ) {
+    if ((rx_type==rx_standard ) || (codeword_TB0 == -1) || (codeword_TB1 == -1)) {
       dlsch_16qam_llr(frame_parms,
                       lte_ue_pdsch_vars[eNB_id]->rxdataF_comp0,
                       lte_ue_pdsch_vars[eNB_id]->llr[0],
@@ -861,7 +861,7 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
                       adjust_G2(frame_parms,dlsch0_harq->rb_alloc_even,4,subframe,symbol),
                       lte_ue_pdsch_vars[eNB_id]->llr128);
     }
-    else if ((rx_type >= rx_IC_single_stream) && (codeword_TB0 != -1))  {
+    else if (rx_type >= rx_IC_single_stream) {
       if (dlsch1_harq->Qm == 2) {
         dlsch_16qam_qpsk_llr(frame_parms,
                              lte_ue_pdsch_vars[eNB_id]->rxdataF_comp0,
@@ -935,7 +935,7 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
     }
     break;
   case 6 :
-    if ((rx_type==rx_standard) || (codeword_TB0 == -1))  {
+    if ((rx_type==rx_standard) || (codeword_TB0 == -1) || (codeword_TB1 == -1))  {
       dlsch_64qam_llr(frame_parms,
                       lte_ue_pdsch_vars[eNB_id]->rxdataF_comp0,
                       lte_ue_pdsch_vars[eNB_id]->llr[0],
@@ -945,7 +945,7 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
                       adjust_G2(frame_parms,dlsch0_harq->rb_alloc_even,6,subframe,symbol),
                       lte_ue_pdsch_vars[eNB_id]->llr128);
     }
-    else if ((rx_type >= rx_IC_single_stream) && (codeword_TB0 != -1)){
+    else if (rx_type >= rx_IC_single_stream) {
       if (dlsch1_harq->Qm == 2) {
         dlsch_64qam_qpsk_llr(frame_parms,
                              lte_ue_pdsch_vars[eNB_id]->rxdataF_comp0,
diff --git a/openair1/SIMULATION/LTE_PHY/dlsim.c b/openair1/SIMULATION/LTE_PHY/dlsim.c
index c07169a5c1..4639a0cfe2 100755
--- a/openair1/SIMULATION/LTE_PHY/dlsim.c
+++ b/openair1/SIMULATION/LTE_PHY/dlsim.c
@@ -3619,11 +3619,6 @@ int main(int argc, char **argv)
 
           for (TB=0; TB<Kmimo; TB++){ // may be we ll have to swap CW
 
-           /* if (PHY_vars_UE->dlsch_ue[0][TB] == NULL){
-              printf("[DLSIM] PHY_vars_UE->dlsch_ue[0][TB] == NULL\n");
-              printf("HERE HERE HERE HERE\n");
-              continue;
-            }*/
 
               if (TB0_active == 0){
 #ifdef DEBUG_HARQ
@@ -4164,6 +4159,7 @@ int main(int argc, char **argv)
 #endif
               }
             }
+            if (rx_type==rx_SIC_dual_stream)
             TB++; // to terminate the loop over TB
           }
 
-- 
GitLab