From 4c7abcd3372368396a11a120c259afdb0fe2b015 Mon Sep 17 00:00:00 2001 From: iwasaki Date: Sat, 22 Dec 2001 16:05:41 +0000 Subject: 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. --- sys/contrib/dev/acpica/exsystem.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'sys/contrib') 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); } } -- cgit v1.1