--- ./source/private_module/framework/version/V3R6C10/qos_ctrl/master_agent/obj_ioclass_cfg.c	2018-02-09 13:47:03.000000000 +0000
+++ ./source/private_module/framework/version/V3R6C10/qos_ctrl/master_agent/obj_ioclass_cfg.c.hotpatch	2019-04-17 08:50:22.000000000 +0000
@@ -1935,7 +1935,7 @@
     TASK_CALL_ACTION_START_ASYNC(baseTask);
     return;
 }
-
+int32_t qosGetNodeVersionByMsgForRetry(uint16_t nodeId, char* version);
 /**************************************************************************
      :  ָ
  :  
@@ -2069,7 +2069,7 @@
 
     /*÷Ͱ*/
     stMsgInfo.uiMsgOPCode = MSG_OP_MMT_TLV_REQUEST;
-    stMsgInfo.uiMsgTimeout = 5;
+    stMsgInfo.uiMsgTimeout = 30;
     stMsgInfo.usMsgType = MSG_TYPE_REQUEST;
     stMsgInfo.usSenderBID = curNid;
     stMsgInfo.usSenderNodeID = curNid;
@@ -2078,7 +2078,7 @@
     stMsgInfo.usReceiverNodeID = nodeId;
     stMsgInfo.usReceiverPID = (uint16_t)PID_UPGRADE_KERNEL;
     stMsgInfo.uiMsgLength = uiLen;
-
+    DBG_LogInfo(DBG_LOGID_NEW, "MSG_SendSyncMsg uiMsgTimeout (%u)s.", stMsgInfo.uiMsgTimeout);
     ret = MSG_SendSyncMsg(pMsg, &stMsgInfo, &pAckMsg);
     if (RETURN_OK != ret)
     {
@@ -2140,7 +2140,7 @@
         retVal = RETURN_OK;
         UNREFERENCE_PARAM(retVal);
 #else        
-        retVal = qosGetNodeVersionByMsg(nidIdx, nodeSysVersion);
+        retVal = qosGetNodeVersionByMsgForRetry(nidIdx, nodeSysVersion);
         if (RETURN_OK != retVal)
         {
             DBG_LogError(DBG_LOGID_NEW, "QOS_CTRL: Get node(%u) sys version failed.", nidIdx);
@@ -2473,3 +2473,34 @@
     return;
 }
 
+/**************************************************************************
+     :  ѯ汾ϢԻ
+ :  
+ :  
+   ֵ:  
+     :  
+**************************************************************************/
+int32_t qosGetNodeVersionByMsgForRetry(uint16_t nodeId, char* version)
+{
+        int32_t ret = RETURN_ERROR;
+        uint32_t loopCnt = INVALID_VALUE32;
+    
+        /*Ϣѯ汾ţѭ5Σ*/
+        for (loopCnt = 0; loopCnt < 5; loopCnt++)
+        {
+            ret = qosGetNodeVersionByMsg(nodeId, version);
+            if (RETURN_OK == ret)
+            {
+                break;
+            }
+        }
+    
+        if (RETURN_OK != ret)
+        {
+            DBG_LogError(DBG_LOGID_NEW, "QOS_CTRL: Qos sendSyncMsg to get sys Version failed.");
+            return ret;
+        }
+    
+        return RETURN_OK;
+}
+
