diff options
author | iwasaki <iwasaki@FreeBSD.org> | 2001-12-22 16:05:41 +0000 |
---|---|---|
committer | iwasaki <iwasaki@FreeBSD.org> | 2001-12-22 16:05:41 +0000 |
commit | 4c7abcd3372368396a11a120c259afdb0fe2b015 (patch) | |
tree | 7c96c678372cc5f9e23154023196e80b72311f86 /sys/contrib/dev/acpica | |
parent | 23a35cbf8dc1e76d3a4e856806e0ee472c65e5af (diff) | |
download | FreeBSD-src-4c7abcd3372368396a11a120c259afdb0fe2b015.zip FreeBSD-src-4c7abcd3372368396a11a120c259afdb0fe2b015.tar.gz |
Add OS layer ACPI mutex and threading support.
- Temporary fix a bug of Intel ACPI CA core code.
- Add OS layer ACPI mutex support. This can be disabled by
specifying option ACPI_NO_SEMAPHORES.
- Add ACPI threading support. Now that we have a dedicate taskqueue for
ACPI tasks and more ACPI task threads can be created by specifying option
ACPI_MAX_THREADS.
- Change acpi_EvaluateIntoBuffer() behavior slightly to reuse given
caller's buffer unless AE_BUFFER_OVERFLOW occurs. Also CM battery's
evaluations were changed to use acpi_EvaluateIntoBuffer().
- Add new utility function acpi_ConvertBufferToInteger().
- Add simple locking for CM battery and temperature updating.
- Fix a minor problem on EC locking.
- Make the thermal zone polling rate to be changeable.
- Change minor things on AcpiOsSignal(); in ACPI_SIGNAL_FATAL case,
entering Debugger is easier to investigate the problem rather than panic.
Diffstat (limited to 'sys/contrib/dev/acpica')
-rw-r--r-- | sys/contrib/dev/acpica/exsystem.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/contrib/dev/acpica/exsystem.c b/sys/contrib/dev/acpica/exsystem.c index df03448..b462597 100644 --- a/sys/contrib/dev/acpica/exsystem.c +++ b/sys/contrib/dev/acpica/exsystem.c @@ -147,7 +147,7 @@ AcpiExSystemWaitSemaphore ( ACPI_HANDLE Semaphore, UINT32 Timeout) { - ACPI_STATUS Status; + ACPI_STATUS Status, Status2; FUNCTION_TRACE ("ExSystemWaitSemaphore"); @@ -172,12 +172,12 @@ AcpiExSystemWaitSemaphore ( /* Reacquire the interpreter */ - Status = AcpiExEnterInterpreter (); - if (ACPI_SUCCESS (Status)) + Status2 = AcpiExEnterInterpreter (); + if (ACPI_FAILURE (Status2)) { - /* Restore the timeout exception */ + /* Report fatal error, could not acquire interpreter */ - Status = AE_TIME; + return_ACPI_STATUS (Status2); } } |