From c652a883ffde103974c65f58bcefb8df011428fe Mon Sep 17 00:00:00 2001
From: Haruki NAOI <naoi.haruki@jp.fujitsu.com>
Date: Thu, 24 May 2018 20:08:27 +0900
Subject: [PATCH] Fix: TDD uci_procedures misdeal pucch format1a.

---
 openair1/SCHED/phy_procedures_lte_eNb.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c
index da636a9635..f2ba478313 100644
--- a/openair1/SCHED/phy_procedures_lte_eNb.c
+++ b/openair1/SCHED/phy_procedures_lte_eNb.c
@@ -990,7 +990,7 @@ void uci_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
 	      if (uci->type==HARQ_SR && metric[0] <= metric_SR) {
 	          SR_payload = 1;
 	          metric[0] = rx_pucch(eNB,
-	                     pucch_format1b,
+	                     uci->pucch_fmt,
 	                     i,
 	                     uci->n_pucch_1_0_sr[0],
 	                     0, //n2_pucch
@@ -1052,6 +1052,15 @@ void uci_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
 	              uci->rnti,uci->type,SR_payload,frame,subframe,pucch_b0b1[0][0],pucch_b0b1[0][1],pucch_b0b1[1][0],pucch_b0b1[1][1]);
 #endif
 #endif
+	  
+	  if(uci->pucch_fmt == pucch_format1a) {
+	    LOG_D(PHY,"[eNB %d][PDSCH %x] Frame %d subframe %d pucch1a (TDD) payload %d (metric %d)\n",
+	      eNB->Mod_id,uci->rnti,frame,subframe,pucch_b0b1[0][0],metric[0]);
+	    
+	    uci->stat = metric[0];
+	    fill_uci_harq_indication(eNB,uci,frame,subframe,pucch_b0b1[0],0,0xffff);
+	  }
+	  else if(uci->pucch_fmt == pucch_format1b) {
 	  if (SR_payload == 1) { // this implements Table 7.3.1 from 36.213
 	    if (pucch_b0b1[0][0] == 4) { // there isn't a likely transmission
 	      harq_ack[0] = 4; // DTX
@@ -1351,6 +1360,7 @@ void uci_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
 	AssertFatal(1==0,"Unsupported UCI type %d\n",uci->type);
 	break;
       }
+      }
     
       if (SR_payload == 1) {
 	LOG_D(PHY,"[eNB %d][SR %x] Frame %d subframe %d Got SR for PUSCH, transmitting to MAC\n",eNB->Mod_id,
-- 
GitLab