--- ./source/private_module/common/alarm_send.c	2022-12-20 10:00:53.561168381 +0000
+++ ./source/private_module/common/alarm_send.c.hotpatch	2022-12-24 06:42:09.533824169 +0000
@@ -362,7 +362,7 @@
 {
     OSP_BOOL AlmStateSend = B_FALSE;
     OSP_BOOL SecAlmStateFault = B_FALSE;
-
+    OSP_U32 AlarmType = AlmTbl->StateMap[AlmIdx].AlarmType;
     DRV_ASSERT(NULL != Node, return B_FALSE);
     DRV_ASSERT(NULL != AlmTbl, return B_FALSE);
 
@@ -388,9 +388,9 @@
     {
         SecAlmStateFault = B_TRUE;
     }
-
-    /* BEGIN: DTS2014070905645 d90003911 2014/7/10 */
-    /*Ϊ0ûз͹澯¼*/
+    if (AlarmType == ALM_ALARM_TYPE_EVENT) {
+        Node->AlmFaultCnt[AlmIdx] = 0;
+        Node->SecFaultCnt[AlmIdx] = 0;}
     if (0 == Node->AlmFaultCnt[AlmIdx] && 
         0 == StateTbl && B_TRUE == SecAlmStateFault)
     {
@@ -404,16 +404,16 @@
         AlmStateSend = B_TRUE;
     }
     
-    /*¹ϼ*/
-    if (0 == StateTbl)
-    {   /*һ״̬*/
-        Node->AlmFaultCnt[AlmIdx]++;
-    }
-    else if (1 == StateTbl)
-    {   /*ڶ״̬*/
-        Node->SecFaultCnt[AlmIdx]++;
+    if (AlarmType != ALM_ALARM_TYPE_EVENT) {
+        if (0 == StateTbl)
+        {   /*һ״̬*/
+            Node->AlmFaultCnt[AlmIdx]++;
+        }
+        else if (1 == StateTbl)
+        {   /*ڶ״̬*/
+            Node->SecFaultCnt[AlmIdx]++;
+        }
     }
-
     /*״νйϲҪ澯ĳ*/
     if (STAGE_FILL_OK > Node->Stage && 
         B_TRUE == AlmTbl->StateMap[AlmIdx].NoAlarmAtIn)
