aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib/dev/acpica/exsystem.c
diff options
context:
space:
mode:
authorMitsuru IWASAKI <iwasaki@FreeBSD.org>2001-12-22 16:05:41 +0000
committerMitsuru IWASAKI <iwasaki@FreeBSD.org>2001-12-22 16:05:41 +0000
commitc573e654b7769ae90a8ae4a34eed0b3a36f439c3 (patch)
tree7c96c678372cc5f9e23154023196e80b72311f86 /sys/contrib/dev/acpica/exsystem.c
parent1b3d626a13412d3e64c7431651b8d4bfb08d0296 (diff)
downloadsrc-c573e654b7769ae90a8ae4a34eed0b3a36f439c3.tar.gz
src-c573e654b7769ae90a8ae4a34eed0b3a36f439c3.zip
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.
Notes
Notes: svn path=/head/; revision=88420
Diffstat (limited to 'sys/contrib/dev/acpica/exsystem.c')
-rw-r--r--sys/contrib/dev/acpica/exsystem.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/contrib/dev/acpica/exsystem.c b/sys/contrib/dev/acpica/exsystem.c
index df034483f057..b4625976ec8c 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);
}
}