diff options
| author | Nate Lawson <njl@FreeBSD.org> | 2007-11-02 17:29:36 +0000 |
|---|---|---|
| committer | Nate Lawson <njl@FreeBSD.org> | 2007-11-02 17:29:36 +0000 |
| commit | cc3c11f9c9fb2e9b6062bfbbc440bffeef523936 (patch) | |
| tree | d2bccca6a36002796e64be6a904bf3b8a0962878 /sys/dev/acpica | |
| parent | 1d916e2c71a5fe75c1510c35589f81a0cc2776fb (diff) | |
Notes
Diffstat (limited to 'sys/dev/acpica')
| -rw-r--r-- | sys/dev/acpica/acpi_cpu.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/acpica/acpi_cpu.c b/sys/dev/acpica/acpi_cpu.c index 324f0a430cb9..eb5ce530e0e7 100644 --- a/sys/dev/acpica/acpi_cpu.c +++ b/sys/dev/acpica/acpi_cpu.c @@ -501,12 +501,14 @@ acpi_cpu_shutdown(device_t dev) /* Allow children to shutdown first. */ bus_generic_shutdown(dev); - /* Disable any entry to the idle function. */ + /* + * Disable any entry to the idle function. There is a small race where + * an idle thread have passed this check but not gone to sleep. This + * is ok since device_shutdown() does not free the softc, otherwise + * we'd have to be sure all threads were evicted before returning. + */ cpu_disable_idle = TRUE; - /* Signal and wait for all processors to exit acpi_cpu_idle(). */ - smp_rendezvous(NULL, NULL, NULL, NULL); - return_VALUE (0); } |
