FreeBSD Bugzilla – Attachment 103502 Details for
Bug 143432
[acpi] [patch] Two bugs in acpica in AcpiExReleaseMutex
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 1.86 KB, created by
Vladislav Shabanov
on 2010-02-01 15:40:03 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
Vladislav Shabanov
Created:
2010-02-01 15:40:03 UTC
Size:
1.86 KB
patch
obsolete
>--- exmutex.c-ORIG 2010-02-01 15:22:05.000000000 +0300 >+++ exmutex.c 2010-02-01 16:16:43.000000000 +0300 >@@ -490,6 +490,15 @@ > return_ACPI_STATUS (AE_AML_MUTEX_NOT_ACQUIRED); > } > >+ /* Must have a valid thread ID */ >+ >+ if (!WalkState->Thread) >+ { >+ ACPI_ERROR ((AE_INFO, "Cannot release Mutex [%4.4s], null thread info", >+ AcpiUtGetNodeName (ObjDesc->Mutex.Node))); >+ return_ACPI_STATUS (AE_AML_INTERNAL); >+ } >+ > /* > * The Mutex is owned, but this thread must be the owner. > * Special case for Global Lock, any thread can release >@@ -505,15 +514,6 @@ > return_ACPI_STATUS (AE_AML_NOT_OWNER); > } > >- /* Must have a valid thread ID */ >- >- if (!WalkState->Thread) >- { >- ACPI_ERROR ((AE_INFO, "Cannot release Mutex [%4.4s], null thread info", >- AcpiUtGetNodeName (ObjDesc->Mutex.Node))); >- return_ACPI_STATUS (AE_AML_INTERNAL); >- } >- > /* > * The sync level of the mutex must be equal to the current sync level. In > * other words, the current level means that at least one mutex at that >@@ -535,8 +535,16 @@ > * This handles the case where several mutexes at the same level have been > * acquired, but are not released in reverse order. > */ >- PreviousSyncLevel = >- WalkState->Thread->AcquiredMutexList->Mutex.OriginalSyncLevel; >+ if (!WalkState->Thread->AcquiredMutexList) >+ { >+ ACPI_ERROR ((AE_INFO, "Thread AcquiredMutexList empty while releasing mutex Mutex [%4.4s]", >+ AcpiUtGetNodeName (ObjDesc->Mutex.Node))); >+ /* return_ACPI_STATUS (AE_AML_INTERNAL); */ >+ PreviousSyncLevel = WalkState->Thread->CurrentSyncLevel; >+ } >+ else >+ PreviousSyncLevel = >+ WalkState->Thread->AcquiredMutexList->Mutex.OriginalSyncLevel; > > Status = AcpiExReleaseMutexObject (ObjDesc); > if (ACPI_FAILURE (Status))
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 143432
: 103502 |
103503
|
103504