panic in AcpiExReleaseMutex

Moore, Robert robert.moore at intel.com
Fri Dec 4 21:08:49 UTC 2009


>Now, we have a code in EcSpaceHandler that makes a
>direct call to EcGpeQueryHandler during a cold boot phase if SCI bit is set
>in
>CSR register.  EcGpeQueryHandler performs an EC query and executes _Qxx
>method if need.

OK, I see. No GPE, but a direct call to the handler, which makes a query and invokes _Q20 or _Q09

What is the thread_id, and does it ever change for this thread?


>-----Original Message-----
>From: Moore, Robert
>Sent: Friday, December 04, 2009 1:00 PM
>To: 'Andriy Gapon'
>Cc: freebsd-acpi at freebsd.org; Tarick
>Subject: RE: panic in AcpiExReleaseMutex
>
>It would appear that a GPE is taken, for the EC device, thus invoking
>EcGpeQueryHandler. In what context is _Q20 or _Q09 executed?
>
>This might be an important question: What is the thread_id of this initial
>thread?
>
>
>
>>-----Original Message-----
>>From: Andriy Gapon [mailto:avg at icyb.net.ua]
>>Sent: Friday, December 04, 2009 12:50 PM
>>To: Moore, Robert
>>Cc: freebsd-acpi at freebsd.org; Tarick
>>Subject: Re: panic in AcpiExReleaseMutex
>>
>>on 04/12/2009 20:45 Moore, Robert said the following:
>>> Yes, you are correct. I did not have the code in front of me at the
>time.
>>>
>>> When AcpiExReleaseMutex is called, apparently the mutex is in fact held,
>>> otherwise the function would have aborted immediately.
>>>
>>> When the mutex is held, the Thread->AcquiredMutexList is expected to
>hold
>>(at
>>> the minimum) the mutex object being released. Something is very wrong if
>>this
>>> list is NULL when releasing the mutex.
>>>
>>> Just to make sure: All of this is happening in the same thread?
>>
>>Yes, this happens when there is only the initial thread running on BSP, no
>>other
>>threads are started yet.
>>
>>
>>--
>>Andriy Gapon


More information about the freebsd-acpi mailing list