diff -ru PRU-ICSS-HSR-PRP-DAN_01.00.04.02.orig/examples/board/common/osdrv_ndkdeviceconfig.c PRU-ICSS-HSR-PRP-DAN_01.00.04.02/examples/board/common/osdrv_ndkdeviceconfig.c
--- PRU-ICSS-HSR-PRP-DAN_01.00.04.02.orig/examples/board/common/osdrv_ndkdeviceconfig.c	2018-06-29 16:39:28.000000000 +0300
+++ PRU-ICSS-HSR-PRP-DAN_01.00.04.02/examples/board/common/osdrv_ndkdeviceconfig.c	2019-04-26 19:13:47.961538800 +0300
@@ -59,7 +59,7 @@
 /* ========================================================================== */
 static uint32_t nimuDeviceIndex = 0;
 static HANDLE nimuEmacHandle[MAX_ICSSNIMU_TBL_ENTRIES];
-NIMU_DEVICE_TABLE_ENTRY NIMUDeviceTable[MAX_ICSSNIMU_TBL_ENTRIES];
+NIMU_DEVICE_TABLE_ENTRY NIMUDeviceTable[MAX_ICSSNIMU_TBL_ENTRIES + 1] = {{.init = NULL}};
 
 /*
  * Desc
@@ -84,7 +84,7 @@
         NIMUDeviceTable[nimuDeviceIndex].init =  initFct ;
         nimuEmacHandle[nimuDeviceIndex++] = emacHandle;
 
-        if(nimuDeviceIndex < MAX_ICSSNIMU_TBL_ENTRIES)
+        if(nimuDeviceIndex < MAX_ICSSNIMU_TBL_ENTRIES + 1)
         {
             NIMUDeviceTable[nimuDeviceIndex].init =  NULL ;
         }
diff -ru PRU-ICSS-HSR-PRP-DAN_01.00.04.02.orig/examples/board/include/osdrv_ndkdeviceconfig.h PRU-ICSS-HSR-PRP-DAN_01.00.04.02/examples/board/include/osdrv_ndkdeviceconfig.h
--- PRU-ICSS-HSR-PRP-DAN_01.00.04.02.orig/examples/board/include/osdrv_ndkdeviceconfig.h	2018-06-29 16:39:28.000000000 +0300
+++ PRU-ICSS-HSR-PRP-DAN_01.00.04.02/examples/board/include/osdrv_ndkdeviceconfig.h	2019-04-24 12:05:11.375313500 +0300
@@ -52,6 +52,7 @@
 typedef int (*NIMUInitFn)(STKEVENT_Handle hEvent) ;
 
 typedef void       *NimuHandle;
+typedef void       *HANDLE;
 
 /* ========================================================================== */
 /*                         Structures and Enums                               */
diff -ru PRU-ICSS-HSR-PRP-DAN_01.00.04.02.orig/examples/hsr_prp/hsr_prp_menu.c PRU-ICSS-HSR-PRP-DAN_01.00.04.02/examples/hsr_prp/hsr_prp_menu.c
--- PRU-ICSS-HSR-PRP-DAN_01.00.04.02.orig/examples/hsr_prp/hsr_prp_menu.c	2018-06-29 16:39:28.000000000 +0300
+++ PRU-ICSS-HSR-PRP-DAN_01.00.04.02/examples/hsr_prp/hsr_prp_menu.c	2019-04-29 14:45:36.517534300 +0300
@@ -64,6 +64,8 @@
 #define RED_HSR_LRE_MODE_M             "MODE M"
 #define RED_HSR_LRE_MODE_UNKNOWN       "UNKNOWN"
 
+//#define MINIMIZE_STATS
+
 /**Interface macid index*/
 #define INTERFACE_MAC 0
 /**Port1 macid index*/
@@ -433,6 +435,7 @@
     char pMsg[1024];
     RED_STATISTICS stats;
 
+#ifndef MINIMIZE_STATS
 #ifdef ICSS_PROTOCOL_HSR
     char *mode = getHsrLreModePrintStr(emachandle);
     sprintf(pMsg,
@@ -447,6 +450,7 @@
             "S T A T I S T I C S\n\r"
             "\n\r");
     UART_printf(pMsg);
+#endif
 
     if(RedGetStatistics(&stats, emachandle) != RED_OK)
     {
@@ -455,6 +459,9 @@
         return;
     }
 
+#ifdef MINIMIZE_STATS
+    UART_printf("\n%08d (%08d) - %08d (%08d) - %08d ", (int)stats.cntLookupErrA, (int)stats.cntErrorsA, (int)stats.cntLookupErrB, (int)stats.cntErrorsB, (int)stats.cntTxC);
+#else
     sprintf(pMsg,
             "Lookup error A : %08d\n\r"
             "Lookup error B : %08d\n\r"
@@ -495,6 +502,7 @@
             stats.RXB_FWD_FAILACQU_QUEUE);
     UART_printf(pMsg);
 #endif /* RED_STATS_DBG */
+#endif
 }
 
 void printLreStatistics(ICSSEMAC_Handle emachandle)
@@ -904,7 +912,7 @@
     HANDLE      hCfgIpAddr;
 
     if(CfgGetImmediate(0, CFGTAG_IPNET, 1, 1, sizeof(NA),
-                       (UINT8 *)&NA) == sizeof(NA))
+                       (unsigned char *)&NA) == sizeof(NA))
     {
         /* get the current static IP entry */
         CfgGetEntry(0, CFGTAG_IPNET, 1, 1, &hCfgIpAddr);
@@ -931,14 +939,14 @@
     bzero(&NA, sizeof(NA));
 
 
-    NA.IPAddr = (IPN)dwIPAddress;
+    NA.IPAddr = dwIPAddress;
     NA.IPMask  = inet_addr("255.255.255.0");
     strcpy(NA.Domain, "demo.net");
     NA.NetType = 0;
 
     /* add a new static IP entry */
     CfgAddEntry(0, CFGTAG_IPNET, 1, 0,
-                sizeof(CI_IPNET), (UINT8 *)&NA, 0);
+                sizeof(CI_IPNET), (unsigned char *)&NA, 0);
     return TRUE;
 }
 
diff -ru PRU-ICSS-HSR-PRP-DAN_01.00.04.02.orig/examples/hsr_prp/hsr_prp_tools.c PRU-ICSS-HSR-PRP-DAN_01.00.04.02/examples/hsr_prp/hsr_prp_tools.c
--- PRU-ICSS-HSR-PRP-DAN_01.00.04.02.orig/examples/hsr_prp/hsr_prp_tools.c	2018-06-29 16:39:28.000000000 +0300
+++ PRU-ICSS-HSR-PRP-DAN_01.00.04.02/examples/hsr_prp/hsr_prp_tools.c	2019-04-24 15:08:20.204006800 +0300
@@ -108,7 +108,7 @@
 
 
     src = packet + START_OF_UDP_HEADER;
-    memcpy(&(pseudoIPHeader[12]), src, DEFAULT_UDP_HEADER_SIZE);
+    memcpy(&(pseudoIPHeader[12]), src, DEFAULT_UDP_HEADER_SIZE - 2); // minus checksum size
 
     checksum = calcChecksum(pseudoIPHeader, 18);
 