diff --git a/sys/dev/acpica/Osd/OsdSchedule.c b/sys/dev/acpica/Osd/OsdSchedule.c index 42ef54d1b166..02d0997813a2 100644 --- a/sys/dev/acpica/Osd/OsdSchedule.c +++ b/sys/dev/acpica/Osd/OsdSchedule.c @@ -64,8 +64,9 @@ AcpiOsQueueForExecution(UINT32 Priority, OSD_EXECUTION_CALLBACK Function, void * if (Function == NULL) return(AE_BAD_PARAMETER); - /* XXX is it OK to block here? */ - at = malloc(sizeof(*at), M_ACPITASK, M_WAITOK); + at = malloc(sizeof(*at), M_ACPITASK, M_NOWAIT); /* Interrupt Context */ + if (at == NULL) + return(AE_NO_MEMORY); bzero(at, sizeof(*at)); at->at_function = Function;