From 2124e43d3afca4440b5d5db90fe9f2079d898acf Mon Sep 17 00:00:00 2001
From: Robert Schmidt <robert.schmidt@openairinterface.org>
Date: Mon, 20 Jun 2022 11:04:03 +0200
Subject: [PATCH] Correctly use RHEL_RELEASE_CODE for Fedora and RHEL

This reverts commit 4f44a1026b69b106a0fc48095c403f73f4d99de7.
---
 openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c  | 10 ++++++++--
 .../PHY/LTE_UE_TRANSPORT/linear_preprocessing_rec.c |  6 ++++++
 openair2/NETWORK_DRIVER/MESH/device.c               | 12 +++++++++---
 openair2/NETWORK_DRIVER/UE_IP/device.c              | 13 +++++++++++--
 4 files changed, 34 insertions(+), 7 deletions(-)

diff --git a/openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c b/openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c
index fb7c920a1e6..4ad27fcfbe6 100644
--- a/openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c
+++ b/openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c
@@ -41,8 +41,14 @@
 #include <stdlib.h>
 #include <string.h>
 #include <linux/version.h>
-#include <lapacke_utils.h>
-#include <lapacke.h>
+#if defined RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,4) \
+                              && RHEL_RELEASE_CODE != RHEL_RELEASE_VERSION(9,99)
+  #include <lapacke/lapacke_utils.h>
+  #include <lapacke/lapacke.h>
+#else
+  #include <lapacke_utils.h>
+  #include <lapacke.h>
+#endif
 #include <cblas.h>
 #include "linear_preprocessing_rec.h"
 
diff --git a/openair1/PHY/LTE_UE_TRANSPORT/linear_preprocessing_rec.c b/openair1/PHY/LTE_UE_TRANSPORT/linear_preprocessing_rec.c
index 59da43e5649..265e88dc394 100644
--- a/openair1/PHY/LTE_UE_TRANSPORT/linear_preprocessing_rec.c
+++ b/openair1/PHY/LTE_UE_TRANSPORT/linear_preprocessing_rec.c
@@ -14,8 +14,14 @@ data storage. */
 #include <cblas.h>
 #include <string.h>
 #include <linux/version.h>
+#if defined RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,4) \
+                              && RHEL_RELEASE_CODE != RHEL_RELEASE_VERSION(9,99)
+#include <lapacke/lapacke_utils.h>
+#include <lapacke/lapacke.h>
+#else
 #include <lapacke_utils.h>
 #include <lapacke.h>
+#endif
 //#define DEBUG_PREPROC
 
 
diff --git a/openair2/NETWORK_DRIVER/MESH/device.c b/openair2/NETWORK_DRIVER/MESH/device.c
index c1b5401011e..08e1577ceaf 100644
--- a/openair2/NETWORK_DRIVER/MESH/device.c
+++ b/openair2/NETWORK_DRIVER/MESH/device.c
@@ -198,7 +198,9 @@ int nas_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
 
     // End debug information
     netif_stop_queue(dev);
-#if  LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0) \
+    || (defined RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,4) \
+                                  && RHEL_RELEASE_CODE != RHEL_RELEASE_VERSION(9,99))
     netif_trans_update(dev);
 #else
     dev->trans_start = jiffies;
@@ -267,7 +269,9 @@ void nas_tx_timeout(struct net_device *dev)
   printk("TX_TIMEOUT: begin\n");
   //  (struct nas_priv *)(dev->priv)->stats.tx_errors++;
   (priv->stats).tx_errors++;
-#if  LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0) \
+    || (defined RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,4) \
+                                  && RHEL_RELEASE_CODE != RHEL_RELEASE_VERSION(9,99))
   netif_trans_update(dev);
 #else
   dev->trans_start = jiffies;
@@ -285,7 +289,9 @@ static const struct net_device_ops nasmesh_netdev_ops = {
   .ndo_set_mac_address  = NULL,
   .ndo_set_config     = nas_set_config,
   .ndo_do_ioctl       = nas_CTL_ioctl,
-#if LINUX_VERSION_CODE <= KERNEL_VERSION(3,11,0)
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3,11,0) \
+    || (defined RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,5) \
+                                  && RHEL_RELEASE_CODE != RHEL_RELEASE_VERSION(9,99))
   .extended.ndo_change_mtu   = nas_change_mtu,
 #else
   .ndo_change_mtu   = nas_change_mtu,
diff --git a/openair2/NETWORK_DRIVER/UE_IP/device.c b/openair2/NETWORK_DRIVER/UE_IP/device.c
index fa762d1ba9c..d124be07aec 100644
--- a/openair2/NETWORK_DRIVER/UE_IP/device.c
+++ b/openair2/NETWORK_DRIVER/UE_IP/device.c
@@ -239,7 +239,9 @@ int ue_ip_hard_start_xmit(struct sk_buff *skb_pP, struct net_device *dev_pP) {
 
     // End debug information
     netif_stop_queue(dev_pP);
-#if  LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0) \
+    || (defined RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,4) \
+                                  && RHEL_RELEASE_CODE != RHEL_RELEASE_VERSION(9,99))
     netif_trans_update(dev_pP);
 #else
     dev_pP->trans_start = jiffies;
@@ -315,7 +317,9 @@ void ue_ip_tx_timeout(struct net_device *dev_pP)
   printk("[UE_IP_DRV][%s] begin\n", __FUNCTION__);
   //  (ue_ip_priv_t *)(dev_pP->priv_p)->stats.tx_errors++;
   (priv_p->stats).tx_errors++;
-#if  LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0) \\
+    || (defined RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,4) \
+                                  && RHEL_RELEASE_CODE != RHEL_RELEASE_VERSION(9,99))
   netif_trans_update(dev_pP);
 #else
   dev_pP->trans_start = jiffies;
@@ -333,7 +337,12 @@ static const struct net_device_ops ue_ip_netdev_ops = {
   .ndo_set_mac_address    = ue_ip_set_mac_address,
   .ndo_set_config         = ue_ip_set_config,
   .ndo_do_ioctl           = NULL,
+#if defined RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,5) \
+                              && RHEL_RELEASE_CODE != RHEL_RELEASE_VERSION(9,99)
+  .extended.ndo_change_mtu         = ue_ip_change_mtu,
+#else
   .ndo_change_mtu   = ue_ip_change_mtu,
+#endif
   .ndo_tx_timeout         = ue_ip_tx_timeout,
   .ndo_change_rx_flags    = ue_ip_change_rx_flags,
 };
-- 
GitLab