diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2007-09-24 17:12:36 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2007-09-24 17:12:36 +0000 |
commit | 66244a7bdd1ab681405a637139a6eff7ef5d403b (patch) | |
tree | a28daa1f294c591d2754125dda203b82bc7a6444 /sys/contrib/dev/acpica/evxface.c | |
parent | 1859f337c47d9b8f944f93e80b08d698c4b66e11 (diff) |
Fix global lock recursion bug.
This patch was part of ACPI-CA 20070508 release and the
following is excerpt from its change log:
Fixed a problem where the Global Lock handle was not properly
updated if a thread that acquired the Global Lock via executing
AML code then attempted to acquire the lock via the
AcpiAcquireGlobalLock interface. Reported by Joe Liu.
Approved by: re (kensmith)
Tested by: ambrisko
Obtained from: Intel
Notes
Notes:
svn path=/vendor-sys/acpica/dist/; revision=172314
Diffstat (limited to 'sys/contrib/dev/acpica/evxface.c')
-rw-r--r-- | sys/contrib/dev/acpica/evxface.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/sys/contrib/dev/acpica/evxface.c b/sys/contrib/dev/acpica/evxface.c index 021ebf7f88e6..15fbc9c65047 100644 --- a/sys/contrib/dev/acpica/evxface.c +++ b/sys/contrib/dev/acpica/evxface.c @@ -921,16 +921,7 @@ AcpiAcquireGlobalLock ( if (ACPI_SUCCESS (Status)) { - /* - * If this was the first acquisition of the Global Lock by this thread, - * create a new handle. Otherwise, return the existing handle. - */ - if (AcpiGbl_GlobalLockMutex->Mutex.AcquisitionDepth == 1) - { - AcpiGbl_GlobalLockHandle++; - } - - /* Return the global lock handle */ + /* Return the global lock handle (updated in AcpiEvAcquireGlobalLock) */ *Handle = AcpiGbl_GlobalLockHandle; } |