Index: alarm.c
===================================================================
--- alarm.c	(revision 6812)
+++ alarm.c	(working copy)
@@ -335,7 +335,7 @@
 
 static void oh_detect_oem_event_alarm(struct oh_domain *d, SaHpiEventT *event)
 {
-        SaHpiAlarmT *a = NULL;
+        SaHpiAlarmT a;
         SaHpiStatusCondTypeT type = SAHPI_STATUS_COND_TYPE_OEM;
 
         if (!d || !event) return;
@@ -349,18 +349,18 @@
         }
 
         /* Severity is "alarming". Add/Create OEM alarm */
-        a = oh_add_alarm(d, NULL, 0);
-        if (!a) goto done;
-        a->Severity = event->Severity;
-        a->AlarmCond.Type = SAHPI_STATUS_COND_TYPE_OEM;
-        oh_entity_path_lookup(event->Source, &a->AlarmCond.Entity);
-        a->AlarmCond.ResourceId = event->Source;
-        a->AlarmCond.Mid = event->EventDataUnion.OemEvent.MId;
-        memcpy(&a->AlarmCond.Data,
+        a.Severity = event->Severity;
+        a.AlarmCond.Type = type;
+        oh_entity_path_lookup(event->Source, &a.AlarmCond.Entity);
+        a.AlarmCond.ResourceId = event->Source;
+        a.AlarmCond.Mid = event->EventDataUnion.OemEvent.MId;
+        memcpy(&a.AlarmCond.Data,
                &event->EventDataUnion.OemEvent.OemEventData,
                sizeof(SaHpiTextBufferT));
-done:
-        return;
+        
+	oh_add_alarm(d, &a, 0);
+        
+	return;
 }
 
 static void oh_detect_resource_event_alarm(struct oh_domain *d, SaHpiEventT *event)
