--- ./source/private_module/nic/hioce_com.c	2018-03-10 03:42:14.000000000 +0000
+++ ./source/private_module/nic/hioce_com.c.hotpatch	2018-09-20 07:49:43.000000000 +0000
@@ -844,12 +844,6 @@
     if (HIOC_UNLIKELY((iRecved == iBudget) ||
                       (0 == (iNeed2Recv = (OSP_S32) UsedOutbEntry(pstOutboundCtx)))))
     {
-        /*modify by z00220957, DTS2016042111278 ,2016-04-21*/
-        /* ݣдGTSĴC
-         * D0  ~ D15  cidx
-         * D16 ~ D19  reserved
-         * D20 ~ D31  qid
-         */
         uiData = *pusCustomer | (pstOutboundCtx->uiQueueID << GTS_QID_OFFSET);
         WriteGTS(pstAdapter, uiData);
         return iRecved;
@@ -859,17 +853,23 @@
     {
         iNeed2Recv = iBudget - iRecved;
     }
-
     /* Begin: modified by w00294390 for DTS2016031001847 , 2016-05-16*/
     mb();
     /* End: modified by w00294390 for DTS2016031001847 , 2016-05-16*/
-    
     for (i = 0; i < iNeed2Recv; i++)
     {
         /* صoutboundentryָ룬entryʹ֮󷽿ɸ */
         pstEntry = ReceiveIob(pstOutboundCtx);
         ucMsgType = IOB_MSG_TYPE(pstEntry);
-
+        if (OP_CODE_MAX == ucMsgType)
+        {
+            ETH_LOG_PERIOD(DRV_LOG_INFO, HIOCE_LOG_ID_413, 3, 600*HZ, "IOB message type is 0xFF, need to recheck. QueueID = %d, Outbound PI = %d, Outbound CI = %d.", 
+                        pstQueue->uiQueueID,(OSP_U16) ((*((OSP_U32 *) (OSP_VOID *) (pstOutboundCtx->pBaseAddr +
+                        (pstOutboundCtx->usEntrySize - 1)))) >> HIOCE_PIDX_OFFSET_IN_ENTRY), pstOutboundCtx->usConsumer);
+            mb();
+            pstEntry = ReceiveIob(pstOutboundCtx);
+            ucMsgType = IOB_MSG_TYPE(pstEntry);
+        }
         switch (ucMsgType)
         {
              /* Begin: modified by w00294390 for DTS2016031001847 , 2016-04-29*/
--- ./source/private_module/nic/hioce_skb.c	2018-01-17 10:02:45.000000000 +0000
+++ ./source/private_module/nic/hioce_skb.c.hotpatch	2018-09-20 03:26:53.000000000 +0000
@@ -1330,20 +1330,20 @@
         {
             if (likely(!(pstNetDev->flags & IFF_PROMISC)))
             {
-                char destmac[18] = {0};
+                char destmac[18] = {0}, srcmac[18] = {0};
                 char  devmac[18] = {0};
-                HIOCE_LOG(HIOC_LOG_WARN, HIOCE_LOG_ID_434,
-                        "Skb dest mac:%s,local netdev mac:%s.",
-                        print_macs(destmac, pstEth->h_dest),
-                        print_macs(devmac, pstNetDev->dev_addr));
+                ETH_LOG_PERIOD(DRV_LOG_WARN, 434, 5, 600*HZ,
+                        "Skb netdev %s dmac:%s,smac:%s,lmac:%s,proto 0x%04x.", pstNetDev->name, 
+                        print_macs(destmac, pstEth->h_dest), print_macs(srcmac, pstEth->h_source), 
+                        print_macs(devmac, pstNetDev->dev_addr), HIOC_NTOHS(pstEth->h_proto));
                 pstNetDevPriv->uiRxDmaFaultCnt++;
                 if (pstNetDevPriv->uiRxDmaFaultCnt > CHECK_RX_DMA_FAULT_CNT)
                 {
                     HIOCE_LOG(HIOC_LOG_ERR, HIOCE_LOG_ID_274,
-                        "Card id: %d pci name: %s,checked rx dma fault,report chip recovery.", 
+                        "Card id: %d pci name: %s,checked rx dma fault.", 
                         pstAdapter->uiHioceIndx, pstAdapter->pszName);
                     /*ע⣬жdump logĴ*/
-                    HIOCE_ChipRecovery(pstAdapter, OSP_FALSE, OSP_FALSE);
+                    //HIOCE_ChipRecovery(pstAdapter, OSP_FALSE, OSP_FALSE);
                 }
             }
             else
