summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorjmcneill <jmcneill@NetBSD.org>2008-05-31 21:38:02 +0000
committerjmcneill <jmcneill@NetBSD.org>2008-05-31 21:38:02 +0000
commit9f877bc7073ccaa2e49e8b6bac702cfce74b0f78 (patch)
treead30b07f5e6cbebd90b7cccc4c7a7539419b8f72 /sys/dev
parent3592ae48827b6de1c8a4ef15971f5080fecd141a (diff)
Don't use cv_timedwait_sig if (cold)
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/acpi/acpica/OsdSchedule.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/sys/dev/acpi/acpica/OsdSchedule.c b/sys/dev/acpi/acpica/OsdSchedule.c
index 000d7fd7c83..d8c80170482 100644
--- a/sys/dev/acpi/acpica/OsdSchedule.c
+++ b/sys/dev/acpi/acpica/OsdSchedule.c
@@ -1,4 +1,4 @@
-/* $NetBSD: OsdSchedule.c,v 1.7 2008/04/24 21:42:05 jmcneill Exp $ */
+/* $NetBSD: OsdSchedule.c,v 1.8 2008/05/31 21:38:02 jmcneill Exp $ */
/*
* Copyright 2001 Wasabi Systems, Inc.
@@ -42,7 +42,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: OsdSchedule.c,v 1.7 2008/04/24 21:42:05 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: OsdSchedule.c,v 1.8 2008/05/31 21:38:02 jmcneill Exp $");
#include <sys/param.h>
#include <sys/malloc.h>
@@ -163,10 +163,14 @@ AcpiOsSleep(ACPI_INTEGER Milliseconds)
{
ACPI_FUNCTION_TRACE(__func__);
- mutex_enter(&acpi_osd_sleep_mtx);
- cv_timedwait_sig(&acpi_osd_sleep_cv, &acpi_osd_sleep_mtx,
- MAX(mstohz(Milliseconds), 1));
- mutex_exit(&acpi_osd_sleep_mtx);
+ if (cold)
+ DELAY(Milliseconds * 1000);
+ else {
+ mutex_enter(&acpi_osd_sleep_mtx);
+ cv_timedwait_sig(&acpi_osd_sleep_cv, &acpi_osd_sleep_mtx,
+ MAX(mstohz(Milliseconds), 1));
+ mutex_exit(&acpi_osd_sleep_mtx);
+ }
}
/*