From 35e9d1e0c246b43cb2cad20123678d839e7f3bae Mon Sep 17 00:00:00 2001
From: francescomani <email@francescomani.it>
Date: Fri, 13 Dec 2024 09:26:45 +0100
Subject: [PATCH] tentative fix for double sib1 decoding

---
 openair2/RRC/NR_UE/rrc_UE.c                   | 156 +++++++++++-------
 openair2/RRC/NR_UE/rrc_defs.h                 |  48 +++---
 openair2/RRC/NR_UE/rrc_timers_and_constants.c | 100 +++--------
 3 files changed, 151 insertions(+), 153 deletions(-)

diff --git a/openair2/RRC/NR_UE/rrc_UE.c b/openair2/RRC/NR_UE/rrc_UE.c
index bba75ffa67e..072317e95d8 100644
--- a/openair2/RRC/NR_UE/rrc_UE.c
+++ b/openair2/RRC/NR_UE/rrc_UE.c
@@ -187,59 +187,59 @@ static void nr_decode_SI(NR_UE_RRC_SI_INFO *SI_info, NR_SystemInformation_t *si,
     LOG_I(NR_RRC, "Found SIB%d\n", typeandinfo->present + 1);
     switch(typeandinfo->present) {
       case NR_SystemInformation_IEs__sib_TypeAndInfo__Member_PR_sib2:
-        SI_info->sib2_validity = true;
+        SI_info->sib2_validity = SIB_VALID;
         nr_timer_start(&SI_info->sib2_timer);
         break;
       case NR_SystemInformation_IEs__sib_TypeAndInfo__Member_PR_sib3:
-        SI_info->sib3_validity = true;
+        SI_info->sib3_validity = SIB_VALID;
         nr_timer_start(&SI_info->sib3_timer);
         break;
       case NR_SystemInformation_IEs__sib_TypeAndInfo__Member_PR_sib4:
-        SI_info->sib4_validity = true;
+        SI_info->sib4_validity = SIB_VALID;
         nr_timer_start(&SI_info->sib4_timer);
         break;
       case NR_SystemInformation_IEs__sib_TypeAndInfo__Member_PR_sib5:
-        SI_info->sib5_validity = true;
+        SI_info->sib5_validity = SIB_VALID;
         nr_timer_start(&SI_info->sib5_timer);
         break;
       case NR_SystemInformation_IEs__sib_TypeAndInfo__Member_PR_sib6:
-        SI_info->sib6_validity = true;
+        SI_info->sib6_validity = SIB_VALID;
         nr_timer_start(&SI_info->sib6_timer);
         break;
       case NR_SystemInformation_IEs__sib_TypeAndInfo__Member_PR_sib7:
-        SI_info->sib7_validity = true;
+        SI_info->sib7_validity = SIB_VALID;
         nr_timer_start(&SI_info->sib7_timer);
         break;
       case NR_SystemInformation_IEs__sib_TypeAndInfo__Member_PR_sib8:
-        SI_info->sib8_validity = true;
+        SI_info->sib8_validity = SIB_VALID;
         nr_timer_start(&SI_info->sib8_timer);
         break;
       case NR_SystemInformation_IEs__sib_TypeAndInfo__Member_PR_sib9:
-        SI_info->sib9_validity = true;
+        SI_info->sib9_validity = SIB_VALID;
         nr_timer_start(&SI_info->sib9_timer);
         break;
       case NR_SystemInformation_IEs__sib_TypeAndInfo__Member_PR_sib10_v1610:
-        SI_info->sib10_validity = true;
+        SI_info->sib10_validity = SIB_VALID;
         nr_timer_start(&SI_info->sib10_timer);
         break;
       case NR_SystemInformation_IEs__sib_TypeAndInfo__Member_PR_sib11_v1610:
-        SI_info->sib11_validity = true;
+        SI_info->sib11_validity = SIB_VALID;
         nr_timer_start(&SI_info->sib11_timer);
         break;
       case NR_SystemInformation_IEs__sib_TypeAndInfo__Member_PR_sib12_v1610:
-        SI_info->sib12_validity = true;
+        SI_info->sib12_validity = SIB_VALID;
         nr_timer_start(&SI_info->sib12_timer);
         break;
       case NR_SystemInformation_IEs__sib_TypeAndInfo__Member_PR_sib13_v1610:
-        SI_info->sib13_validity = true;
+        SI_info->sib13_validity = SIB_VALID;
         nr_timer_start(&SI_info->sib13_timer);
         break;
       case NR_SystemInformation_IEs__sib_TypeAndInfo__Member_PR_sib14_v1610:
-        SI_info->sib14_validity = true;
+        SI_info->sib14_validity = SIB_VALID;
         nr_timer_start(&SI_info->sib14_timer);
         break;
       case NR_SystemInformation_IEs__sib_TypeAndInfo__Member_PR_sib19_v1700:
-        SI_info->SInfo_r17.sib19_validity = true;
+        SI_info->SInfo_r17.sib19_validity = SIB_VALID;
         if (g_log->log_component[NR_RRC].level >= OAILOG_DEBUG)
           xer_fprint(stdout, &asn_DEF_NR_SIB19_r17, (const void *)typeandinfo->choice.sib19_v1700);
         
@@ -315,7 +315,7 @@ static void nr_rrc_process_sib1(NR_UE_RRC_INST_t *rrc, NR_UE_RRC_SI_INFO *SI_inf
     xer_fprint(stdout, &asn_DEF_NR_SIB1, (const void *) sib1);
   LOG_A(NR_RRC, "SIB1 decoded\n");
   nr_timer_start(&SI_info->sib1_timer);
-  SI_info->sib1_validity = true;
+  SI_info->sib1_validity = SIB_VALID;
   if (rrc->nrRrcState == RRC_STATE_IDLE_NR) {
     rrc->ra_trigger = RRC_CONNECTION_SETUP;
     // preparing RRC setup request payload in advance
@@ -627,56 +627,82 @@ bool check_si_validity(NR_UE_RRC_SI_INFO *SI_info, int si_type)
 {
   switch (si_type) {
     case NR_SIB_TypeInfo__type_sibType2:
-      if (!SI_info->sib2_validity)
+      if (SI_info->sib2_validity == SIB_NOT_VALID) {
+        SI_info->sib2_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo__type_sibType3:
-      if (!SI_info->sib3_validity)
+      if (SI_info->sib3_validity == SIB_NOT_VALID) {
+        SI_info->sib3_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo__type_sibType4:
-      if (!SI_info->sib4_validity)
+      if (SI_info->sib4_validity == SIB_NOT_VALID) {
+        SI_info->sib4_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo__type_sibType5:
-      if (!SI_info->sib5_validity)
+      if (SI_info->sib5_validity == SIB_NOT_VALID) {
+        SI_info->sib5_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo__type_sibType6:
-      if (!SI_info->sib6_validity)
+      if (SI_info->sib6_validity == SIB_NOT_VALID) {
+        SI_info->sib6_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo__type_sibType7:
-      if (!SI_info->sib7_validity)
+      if (SI_info->sib7_validity == SIB_NOT_VALID) {
+        SI_info->sib7_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo__type_sibType8:
-      if (!SI_info->sib8_validity)
+      if (SI_info->sib8_validity == SIB_NOT_VALID) {
+        SI_info->sib8_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo__type_sibType9:
-      if (!SI_info->sib9_validity)
+      if (SI_info->sib9_validity == SIB_NOT_VALID) {
+        SI_info->sib9_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo__type_sibType10_v1610:
-      if (!SI_info->sib10_validity)
+      if (SI_info->sib10_validity == SIB_NOT_VALID) {
+        SI_info->sib10_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo__type_sibType11_v1610:
-      if (!SI_info->sib11_validity)
+      if (SI_info->sib11_validity == SIB_NOT_VALID) {
+        SI_info->sib11_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo__type_sibType12_v1610:
-      if (!SI_info->sib12_validity)
+      if (SI_info->sib12_validity == SIB_NOT_VALID) {
+        SI_info->sib12_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo__type_sibType13_v1610:
-      if (!SI_info->sib13_validity)
+      if (SI_info->sib13_validity == SIB_NOT_VALID) {
+        SI_info->sib13_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo__type_sibType14_v1610:
-      if (!SI_info->sib14_validity)
+      if (SI_info->sib14_validity == SIB_NOT_VALID) {
+        SI_info->sib14_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     default :
       AssertFatal(false, "Invalid SIB type %d\n", si_type);
@@ -688,32 +714,46 @@ bool check_si_validity_r17(NR_UE_RRC_SI_INFO_r17 *SI_info, int si_type)
 {
   switch (si_type) {
     case NR_SIB_TypeInfo_v1700__sibType_r17__type1_r17_sibType15:
-      if (!SI_info->sib15_validity)
+      if (SI_info->sib15_validity == SIB_NOT_VALID) {
+        SI_info->sib15_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo_v1700__sibType_r17__type1_r17_sibType16:
-      if (!SI_info->sib16_validity)
+      if (SI_info->sib16_validity == SIB_NOT_VALID) {
+        SI_info->sib16_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo_v1700__sibType_r17__type1_r17_sibType17:
-      if (!SI_info->sib17_validity)
+      if (SI_info->sib17_validity == SIB_NOT_VALID) {
+        SI_info->sib17_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo_v1700__sibType_r17__type1_r17_sibType18:
-      if (!SI_info->sib18_validity)
+      if (SI_info->sib18_validity == SIB_NOT_VALID) {
+        SI_info->sib18_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo_v1700__sibType_r17__type1_r17_sibType19:
-      if (!SI_info->sib19_validity)
+      if (SI_info->sib19_validity == SIB_NOT_VALID) {
+        SI_info->sib19_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo_v1700__sibType_r17__type1_r17_sibType20:
-      if (!SI_info->sib20_validity)
+      if (SI_info->sib20_validity == SIB_NOT_VALID) {
+        SI_info->sib20_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     case NR_SIB_TypeInfo_v1700__sibType_r17__type1_r17_sibType21:
-      if (!SI_info->sib21_validity)
+      if (SI_info->sib21_validity == SIB_NOT_VALID) {
+        SI_info->sib21_validity = SIB_REQUESTED;
         return false;
+      }
       break;
     default :
       AssertFatal(false, "Invalid SIB r17 type %d\n", si_type);
@@ -724,8 +764,10 @@ bool check_si_validity_r17(NR_UE_RRC_SI_INFO_r17 *SI_info, int si_type)
 int check_si_status(NR_UE_RRC_SI_INFO *SI_info)
 {
   // schedule reception of SIB1 if RRC doesn't have it
-  if (!SI_info->sib1_validity)
+  if (SI_info->sib1_validity == SIB_NOT_VALID) {
+    SI_info->sib1_validity = SIB_REQUESTED;
     return 1;
+  }
   else {
     if (SI_info->default_otherSI_map) {
       // Check if RRC has configured default SI
@@ -2482,27 +2524,27 @@ void nr_rrc_going_to_IDLE(NR_UE_RRC_INST_t *rrc,
     rrcPerNB_t *nb = &rrc->perNB[i];
     NR_UE_RRC_SI_INFO *SI_info = &nb->SInfo;
     init_SI_timers(SI_info);
-    SI_info->sib1_validity = false;
-    SI_info->sib2_validity = false;
-    SI_info->sib3_validity = false;
-    SI_info->sib4_validity = false;
-    SI_info->sib5_validity = false;
-    SI_info->sib6_validity = false;
-    SI_info->sib7_validity = false;
-    SI_info->sib8_validity = false;
-    SI_info->sib9_validity = false;
-    SI_info->sib10_validity = false;
-    SI_info->sib11_validity = false;
-    SI_info->sib12_validity = false;
-    SI_info->sib13_validity = false;
-    SI_info->sib14_validity = false;
-    SI_info->SInfo_r17.sib15_validity = false;
-    SI_info->SInfo_r17.sib16_validity = false;
-    SI_info->SInfo_r17.sib17_validity = false;
-    SI_info->SInfo_r17.sib18_validity = false;
-    SI_info->SInfo_r17.sib19_validity = false;
-    SI_info->SInfo_r17.sib20_validity = false;
-    SI_info->SInfo_r17.sib21_validity = false;
+    SI_info->sib1_validity = SIB_NOT_VALID;
+    SI_info->sib2_validity = SIB_NOT_VALID;
+    SI_info->sib3_validity = SIB_NOT_VALID;
+    SI_info->sib4_validity = SIB_NOT_VALID;
+    SI_info->sib5_validity = SIB_NOT_VALID;
+    SI_info->sib6_validity = SIB_NOT_VALID;
+    SI_info->sib7_validity = SIB_NOT_VALID;
+    SI_info->sib8_validity = SIB_NOT_VALID;
+    SI_info->sib9_validity = SIB_NOT_VALID;
+    SI_info->sib10_validity = SIB_NOT_VALID;
+    SI_info->sib11_validity = SIB_NOT_VALID;
+    SI_info->sib12_validity = SIB_NOT_VALID;
+    SI_info->sib13_validity = SIB_NOT_VALID;
+    SI_info->sib14_validity = SIB_NOT_VALID;
+    SI_info->SInfo_r17.sib15_validity = SIB_NOT_VALID;
+    SI_info->SInfo_r17.sib16_validity = SIB_NOT_VALID;
+    SI_info->SInfo_r17.sib17_validity = SIB_NOT_VALID;
+    SI_info->SInfo_r17.sib18_validity = SIB_NOT_VALID;
+    SI_info->SInfo_r17.sib19_validity = SIB_NOT_VALID;
+    SI_info->SInfo_r17.sib20_validity = SIB_NOT_VALID;
+    SI_info->SInfo_r17.sib21_validity = SIB_NOT_VALID;
   }
 
   if (rrc->nrRrcState == RRC_STATE_DETACH_NR) {
diff --git a/openair2/RRC/NR_UE/rrc_defs.h b/openair2/RRC/NR_UE/rrc_defs.h
index 6d22e4ad6c9..7cf9593313f 100644
--- a/openair2/RRC/NR_UE/rrc_defs.h
+++ b/openair2/RRC/NR_UE/rrc_defs.h
@@ -104,53 +104,59 @@ typedef enum RA_trigger_e {
   BEAM_FAILURE_RECOVERY,
 } RA_trigger_t;
 
+typedef enum {
+  SIB_NOT_VALID,
+  SIB_VALID,
+  SIB_REQUESTED,
+} SIB_validity_t;
+
 typedef struct UE_RRC_SI_INFO_NR_r17_s {
   uint32_t default_otherSI_map_r17;
-  bool sib15_validity;
+  SIB_validity_t sib15_validity;
   NR_timer_t sib15_timer;
-  bool sib16_validity;
+  SIB_validity_t sib16_validity;
   NR_timer_t sib16_timer;
-  bool sib17_validity;
+  SIB_validity_t sib17_validity;
   NR_timer_t sib17_timer;
-  bool sib18_validity;
+  SIB_validity_t sib18_validity;
   NR_timer_t sib18_timer;
-  bool sib19_validity;
+  SIB_validity_t sib19_validity;
   NR_timer_t sib19_timer;
-  bool sib20_validity;
+  SIB_validity_t sib20_validity;
   NR_timer_t sib20_timer;
-  bool sib21_validity;
+  SIB_validity_t sib21_validity;
   NR_timer_t sib21_timer;
 } NR_UE_RRC_SI_INFO_r17;
 
 typedef struct UE_RRC_SI_INFO_NR_s {
   uint32_t default_otherSI_map;
-  bool sib1_validity;
+  SIB_validity_t sib1_validity;
   NR_timer_t sib1_timer;
-  bool sib2_validity;
+  SIB_validity_t sib2_validity;
   NR_timer_t sib2_timer;
-  bool sib3_validity;
+  SIB_validity_t sib3_validity;
   NR_timer_t sib3_timer;
-  bool sib4_validity;
+  SIB_validity_t sib4_validity;
   NR_timer_t sib4_timer;
-  bool sib5_validity;
+  SIB_validity_t sib5_validity;
   NR_timer_t sib5_timer;
-  bool sib6_validity;
+  SIB_validity_t sib6_validity;
   NR_timer_t sib6_timer;
-  bool sib7_validity;
+  SIB_validity_t sib7_validity;
   NR_timer_t sib7_timer;
-  bool sib8_validity;
+  SIB_validity_t sib8_validity;
   NR_timer_t sib8_timer;
-  bool sib9_validity;
+  SIB_validity_t sib9_validity;
   NR_timer_t sib9_timer;
-  bool sib10_validity;
+  SIB_validity_t sib10_validity;
   NR_timer_t sib10_timer;
-  bool sib11_validity;
+  SIB_validity_t sib11_validity;
   NR_timer_t sib11_timer;
-  bool sib12_validity;
+  SIB_validity_t sib12_validity;
   NR_timer_t sib12_timer;
-  bool sib13_validity;
+  SIB_validity_t sib13_validity;
   NR_timer_t sib13_timer;
-  bool sib14_validity;
+  SIB_validity_t sib14_validity;
   NR_timer_t sib14_timer;
   NR_UE_RRC_SI_INFO_r17 SInfo_r17;
 } NR_UE_RRC_SI_INFO;
diff --git a/openair2/RRC/NR_UE/rrc_timers_and_constants.c b/openair2/RRC/NR_UE/rrc_timers_and_constants.c
index 6629055b3a7..39e73fa5a43 100644
--- a/openair2/RRC/NR_UE/rrc_timers_and_constants.c
+++ b/openair2/RRC/NR_UE/rrc_timers_and_constants.c
@@ -43,83 +43,33 @@ void init_SI_timers(NR_UE_RRC_SI_INFO *SInfo)
   nr_timer_setup(&SInfo->SInfo_r17.sib19_timer, 10800000, 10);
 }
 
-void nr_rrc_SI_timers(NR_UE_RRC_SI_INFO *SInfo)
+static SIB_validity_t check_sib_timer_validity(SIB_validity_t sib_validity, NR_timer_t *sib_timer)
 {
-  if (SInfo->sib1_validity) {
-   bool sib1_expired = nr_timer_tick(&SInfo->sib1_timer);
-   if (sib1_expired)
-     SInfo->sib1_validity = false;
-  }
-  if (SInfo->sib2_validity) {
-   bool sib2_expired = nr_timer_tick(&SInfo->sib2_timer);
-   if (sib2_expired)
-     SInfo->sib2_validity = false;
-  }
-  if (SInfo->sib3_validity) {
-   bool sib3_expired = nr_timer_tick(&SInfo->sib3_timer);
-   if (sib3_expired)
-     SInfo->sib3_validity = false;
-  }
-  if (SInfo->sib4_validity) {
-   bool sib4_expired = nr_timer_tick(&SInfo->sib4_timer);
-   if (sib4_expired)
-     SInfo->sib4_validity = false;
-  }
-  if (SInfo->sib5_validity) {
-   bool sib5_expired = nr_timer_tick(&SInfo->sib5_timer);
-   if (sib5_expired)
-     SInfo->sib5_validity = false;
-  }
-  if (SInfo->sib6_validity) {
-   bool sib6_expired = nr_timer_tick(&SInfo->sib6_timer);
-   if (sib6_expired)
-     SInfo->sib6_validity = false;
-  }
-  if (SInfo->sib7_validity) {
-   bool sib7_expired = nr_timer_tick(&SInfo->sib7_timer);
-   if (sib7_expired)
-     SInfo->sib7_validity = false;
-  }
-  if (SInfo->sib8_validity) {
-   bool sib8_expired = nr_timer_tick(&SInfo->sib8_timer);
-   if (sib8_expired)
-     SInfo->sib8_validity = false;
-  }
-  if (SInfo->sib9_validity) {
-   bool sib9_expired = nr_timer_tick(&SInfo->sib9_timer);
-   if (sib9_expired)
-     SInfo->sib9_validity = false;
-  }
-  if (SInfo->sib10_validity) {
-   bool sib10_expired = nr_timer_tick(&SInfo->sib10_timer);
-   if (sib10_expired)
-     SInfo->sib10_validity = false;
-  }
-  if (SInfo->sib11_validity) {
-   bool sib11_expired = nr_timer_tick(&SInfo->sib11_timer);
-   if (sib11_expired)
-     SInfo->sib11_validity = false;
-  }
-  if (SInfo->sib12_validity) {
-   bool sib12_expired = nr_timer_tick(&SInfo->sib12_timer);
-   if (sib12_expired)
-     SInfo->sib12_validity = false;
-  }
-  if (SInfo->sib13_validity) {
-   bool sib13_expired = nr_timer_tick(&SInfo->sib13_timer);
-   if (sib13_expired)
-     SInfo->sib13_validity = false;
-  }
-  if (SInfo->sib14_validity) {
-   bool sib14_expired = nr_timer_tick(&SInfo->sib14_timer);
-   if (sib14_expired)
-     SInfo->sib14_validity = false;
-  }
-  if (SInfo->SInfo_r17.sib19_validity) {
-   bool sib19_expired = nr_timer_tick(&SInfo->SInfo_r17.sib19_timer);
-   if (sib19_expired)
-     SInfo->SInfo_r17.sib19_validity = false;
+  if (sib_validity == SIB_VALID) {
+    bool sib_expired = nr_timer_tick(sib_timer);
+    if (sib_expired)
+      return SIB_NOT_VALID;
   }
+  return sib_validity;
+}
+
+void nr_rrc_SI_timers(NR_UE_RRC_SI_INFO *SInfo)
+{
+  SInfo->sib1_validity = check_sib_timer_validity(SInfo->sib1_validity, &SInfo->sib1_timer);
+  SInfo->sib2_validity = check_sib_timer_validity(SInfo->sib2_validity, &SInfo->sib2_timer);
+  SInfo->sib3_validity = check_sib_timer_validity(SInfo->sib3_validity, &SInfo->sib3_timer);
+  SInfo->sib4_validity = check_sib_timer_validity(SInfo->sib4_validity, &SInfo->sib4_timer);
+  SInfo->sib5_validity = check_sib_timer_validity(SInfo->sib5_validity, &SInfo->sib5_timer);
+  SInfo->sib6_validity = check_sib_timer_validity(SInfo->sib6_validity, &SInfo->sib6_timer);
+  SInfo->sib7_validity = check_sib_timer_validity(SInfo->sib7_validity, &SInfo->sib7_timer);
+  SInfo->sib8_validity = check_sib_timer_validity(SInfo->sib8_validity, &SInfo->sib8_timer);
+  SInfo->sib9_validity = check_sib_timer_validity(SInfo->sib9_validity, &SInfo->sib9_timer);
+  SInfo->sib10_validity = check_sib_timer_validity(SInfo->sib10_validity, &SInfo->sib10_timer);
+  SInfo->sib11_validity = check_sib_timer_validity(SInfo->sib11_validity, &SInfo->sib11_timer);
+  SInfo->sib12_validity = check_sib_timer_validity(SInfo->sib12_validity, &SInfo->sib12_timer);
+  SInfo->sib13_validity = check_sib_timer_validity(SInfo->sib13_validity, &SInfo->sib13_timer);
+  SInfo->sib14_validity = check_sib_timer_validity(SInfo->sib14_validity, &SInfo->sib14_timer);
+  SInfo->SInfo_r17.sib19_validity = check_sib_timer_validity(SInfo->SInfo_r17.sib19_validity, &SInfo->SInfo_r17.sib19_timer);
 }
 
 void nr_rrc_handle_timers(NR_UE_RRC_INST_t *rrc)
-- 
GitLab