diff options
author | markj <markj@FreeBSD.org> | 2016-06-23 19:24:38 +0000 |
---|---|---|
committer | markj <markj@FreeBSD.org> | 2016-06-23 19:24:38 +0000 |
commit | 8ac07d0f7954b3cb4b8df478294c9110dab312d8 (patch) | |
tree | d35520969e8d7f25e4799b44e25a8071d1b75a80 | |
parent | 70d8061f8ef743b1f543c7337d36cbef7fe46ea6 (diff) | |
download | FreeBSD-src-8ac07d0f7954b3cb4b8df478294c9110dab312d8.zip FreeBSD-src-8ac07d0f7954b3cb4b8df478294c9110dab312d8.tar.gz |
Use M_NOWAIT when allocating memory for the ACPI wakeup handler.
If the allocation attempt fails, we may otherwise VM_WAIT after a failed
attempt to reclaim contiguous memory in the requested range. After r297466,
this results in the thread going to sleep, causing a hang during boot.
Reviewed by: jkim, kib
Approved by: re (gjb)
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D6945
-rw-r--r-- | sys/x86/acpica/acpi_wakeup.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/x86/acpica/acpi_wakeup.c b/sys/x86/acpica/acpi_wakeup.c index e05d542..869f2eb 100644 --- a/sys/x86/acpica/acpi_wakeup.c +++ b/sys/x86/acpica/acpi_wakeup.c @@ -322,7 +322,7 @@ acpi_alloc_wakeup_handler(void) * page-aligned. */ wakeaddr = contigmalloc((ACPI_PAGETABLES + 1) * PAGE_SIZE, M_DEVBUF, - M_WAITOK, 0x500, 0xa0000, PAGE_SIZE, 0ul); + M_NOWAIT, 0x500, 0xa0000, PAGE_SIZE, 0ul); if (wakeaddr == NULL) { printf("%s: can't alloc wake memory\n", __func__); return (NULL); |