--- ./source/private_module/devm/src/eam/entity/ctrl/fru/eam_ctrl_comm.c	2018-04-27 09:52:08.000000000 +0000
+++ ./source/private_module/devm/src/eam/entity/ctrl/fru/eam_ctrl_comm.c.hotpatch	2020-11-11 10:02:24.000000000 +0000
@@ -3851,7 +3851,7 @@
     }
 }
 
-
+bool checkIgnoreEventInPowerOn(uint64_t eventType, uint32_t objType);
 /*****************************************************************************
      : checkIgnoreFruChangeEvent
    : ǷζӦĶͣηTRUE
@@ -3884,7 +3884,7 @@
     DBG_LogDebug(LOG_ID_0F96, "EAM_FRU: Ignore fru event disMatch objType(%u) ignoreObjType(%u).", objType, ignoreObjType);
     return B_FALSE;
 }
-
+EAM_BOOL g_isEamDDInitedPatch026 = B_TRUE;
 /**************************************************************************
      :  fruı䴦
  :  eventType   -- ¼(/ɾ/ı), om_msg_opcode.h
@@ -3908,22 +3908,22 @@
     EAM_FRU_CHANGE_TASK_S* fruChangeTask = NULL;
     DMI_FRU_CHANGE_INFO_S* fruState = NULL;
 
-    /* (stateChangeΪ ) */
-    /*DTS2014112001381 l00268931 begin*/
     if (NULL == objId)
     {
         DBG_LogWarning(LOG_ID_0F95, "objId is NULL pointer.");
         return;
     }
 
-    /*DTS2014112001381 l00268931 end*/
-
-    /* ģ鿪֮ǰ ¼ */
     if (EAM_STATE_NORMAL != getEamState())
     {
         return;
     }
 
+    if (checkIgnoreEventInPowerOn(eventType, objType)) 
+    {
+        return;
+    }
+
     if (checkIgnoreFruChangeEvent(objType))
     {
         return;
@@ -13040,3 +13040,26 @@
     return RETURN_OK;
 }
 
+bool checkIgnoreEventInPowerOn(uint64_t eventType, uint32_t objType)
+{
+    uint32_t portType = 0;
+
+    if ((g_isEamDDInitedPatch026) || (OM_OPCODE_NOTIFY_CHANGE != eventType))
+    {
+        return B_FALSE;
+    }
+
+    portType = getPortTypeByObjType(objType);
+    if (portType >= IFM_PORT_TYPE_BUTT)
+    {
+        return B_TRUE;
+    }
+
+    if (IFM_TYPE_IS_SUPPORT_TYPE(portType) && IFM_TYPE_IS_PHY_PORT(portType))
+    {
+        return B_FALSE;
+    }
+
+    return B_TRUE;
+}
+
--- ./source/private_module/devm/src/eam/entity/ctrl/poweron/eam_power_on.c	2018-04-12 08:33:01.000000000 +0000
+++ ./source/private_module/devm/src/eam/entity/ctrl/poweron/eam_power_on.c.hotpatch	2020-11-11 10:02:24.000000000 +0000
@@ -7825,7 +7825,7 @@
     DESTROY_EAM_TASK(task);
     return ret;
 }
-
+extern EAM_BOOL g_isEamDDInitedPatch026;
 /**************************************************************************
 *     :  ڵ㿪ɹռeam version
 * :  TASK_S *task
@@ -7898,7 +7898,7 @@
     uint32_t* bitmap = 0;
     TASK_S* baseTask = NULL;
     CREATE_EAM_VERSION_TASK_S* nodeCreateEamVersionTask = NULL;
-
+    g_isEamDDInitedPatch026 = B_FALSE;
     /* μ */
     CHECK_FIRM_PARA_IF_FALSE_DBG_AND_RETURN_VOID(NULL != rpcContext);
 
--- ./source/private_module/devm/src/net/entity/ifm/base/net_port_ctrl.c	2018-02-09 07:36:26.000000000 +0000
+++ ./source/private_module/devm/src/net/entity/ifm/base/net_port_ctrl.c.hotpatch	2020-11-11 10:02:24.000000000 +0000
@@ -1455,6 +1455,7 @@
 {
     int32_t  ret = RETURN_OK;
     uint32_t buffLen = 0;
+    uint32_t portType = 0;
     EAM_FRU_CHANGE_TASK_S*  fruChangeTask = NULL;
     FRU_CHANGE_INFO_S* fruChangeInfo = NULL;
 
@@ -1462,6 +1463,12 @@
 
     fruChangeTask = (EAM_FRU_CHANGE_TASK_S*)contex;
 
+    portType = getPortTypeByObjType(fruChangeTask->objType);
+    if (portType >= IFM_PORT_TYPE_BUTT)
+    {
+        return RETURN_OK;
+    }
+
     fruChangeInfo = (FRU_CHANGE_INFO_S*)EAM_MALLOC_RSV_MEM(EAM_RSV_MEM_TYPE_TEMP_DATA, 
         sizeof(FRU_CHANGE_INFO_S));
     if (NULL == fruChangeInfo)
@@ -1481,26 +1488,20 @@
         fruChangeInfo->changeInfo = 
                 (DMI_FRU_CHANGE_INFO_S*)EAM_MALLOC_RSV_MEM(EAM_RSV_MEM_TYPE_FRU_STATE_INFO,
                                             buffLen + sizeof(DMI_FRU_CHANGE_INFO_S));
-
         if (NULL == fruChangeInfo->changeInfo)
         {
             EAM_DBG_LOG_WARNING("Alloc memory for fru change state failed.");
             EAM_FREE_RSV_MEM(EAM_RSV_MEM_TYPE_TEMP_DATA, fruChangeInfo);
             return RETURN_ERROR;
         }
-
         fruChangeInfo->changeInfo->AttributCnt = fruChangeTask->changeInfo->AttributCnt;
-        
         fruChangeInfo->changeInfo->BuffLen = fruChangeTask->changeInfo->BuffLen;
-        
         fruChangeInfo->changeInfo->StateInfo 
                 = (DMI_FRU_CHANGE_STATE_S*)(void*)((char*)fruChangeInfo->changeInfo
                     + sizeof(DMI_FRU_CHANGE_INFO_S));
-        
         (void)EAM_memcpy(fruChangeInfo->changeInfo->StateInfo,
             fruChangeTask->changeInfo->StateInfo, buffLen);
     }
-
     ret = TASK_AsynWork(handlePortFruChange, (void*)fruChangeInfo);
     if (RETURN_OK != ret)
     {
@@ -1508,7 +1509,6 @@
         EAM_FREE_RSV_MEM(EAM_RSV_MEM_TYPE_FRU_STATE_INFO, fruChangeInfo->changeInfo);
         EAM_FREE_RSV_MEM(EAM_RSV_MEM_TYPE_TEMP_DATA, fruChangeInfo);
     }
-    
     return ret;
 }
 
--- ./source/private_module/devm/src/ssp/cfgapp/eam_cfg_comm.c	2018-04-26 09:57:48.000000000 +0000
+++ ./source/private_module/devm/src/ssp/cfgapp/eam_cfg_comm.c.hotpatch	2020-11-11 10:02:24.000000000 +0000
@@ -4930,7 +4930,7 @@
 
     return;
 }
-
+extern EAM_BOOL g_isEamDDInitedPatch026;
 /**************************************************************************
 *     :  ʼDDλͼ¼
 * :  eventId      --  ¼id
@@ -4950,7 +4950,8 @@
     {
         DBG_LogWarning(LOG_ID_036E, "EAM_EVENT: Local node(id %u) init ethPerf failed.", GET_LOCAL_NID());
     }
-    
+    g_isEamDDInitedPatch026 = B_TRUE;
+    DBG_LogInfo(LOG_ID_036E, "EAM_EVENT: Set EAM DD Status Success.");
     /* ɾֻڼȺϴ */
     if (getEamMasterNodeId() != GET_LOCAL_NID())
     {
@@ -5004,8 +5005,7 @@
         setPowerType();
         
         createInitDdTask(eventId, EAM_TRACE_TYPE_INIT_DD_INFO, bitmap);
-    }
-    
+    } 
     return;
 }
 
