public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* ACPI Lock after resume from S3 [2.5.59+latest ACPI]
@ 2003-02-06 18:33 Alvaro Lopes
       [not found] ` <3E42AA7A.1030207-JkNoWtNHh5AAvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 2+ messages in thread
From: Alvaro Lopes @ 2003-02-06 18:33 UTC (permalink / raw)
  To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

Hi list

here's the problem:

My toshiba enters S3 via acpi_enter_sleep_state(). It goes to sleep 
right after writing PM1A_CONTROL with SLP_ENABLE.  It resumes then to 
the caller  [acpi_suspend()] and then calls acpi_restore_system_state() 
and finally acpi_leave_sleep_state().

The problem is that it enters a deadlock because:

    1- When setting PM1A_CONTROL with flag ACPI_MTX_LOCK, the hardware 
mutex is locked, the system enters sleep right after writing the 
register and never unlocks the mutex, because it resumes to a different 
point;

    2- in acpi_leave_sleep_state() we disable BM artbitration, and here 
it locks forever, waiting a hardware mutex release.

Disabling APCI_MTX_LOCK on the 1st point seems to go around the problem, 
and the system resumes almost OK, only HDD DMA is disabled:

Feb  6 18:19:26 supernova kernel: hda: status timeout: status=0x80 { Busy }
Feb  6 18:19:26 supernova kernel: hda: DMA disabled
Feb  6 18:19:26 supernova kernel: hda: drive not ready for command
Feb  6 18:19:27 supernova kernel: ide0: reset: master: error (0x00?)

Álvaro

-- 

Álvaro Lopes 
---------------------
A .sig is just a .sig




-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: ACPI Lock after resume from S3 [2.5.59+latest ACPI]
       [not found] ` <3E42AA7A.1030207-JkNoWtNHh5AAvxtiuMwx3w@public.gmane.org>
@ 2003-02-06 20:47   ` Ducrot Bruno
  0 siblings, 0 replies; 2+ messages in thread
From: Ducrot Bruno @ 2003-02-06 20:47 UTC (permalink / raw)
  To: Alvaro Lopes; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

On Thu, Feb 06, 2003 at 06:33:30PM +0000, Alvaro Lopes wrote:
> Hi list
> 
> here's the problem:
> 
> My toshiba enters S3 via acpi_enter_sleep_state(). It goes to sleep 
> right after writing PM1A_CONTROL with SLP_ENABLE.  It resumes then to 
> the caller  [acpi_suspend()] and then calls acpi_restore_system_state() 
> and finally acpi_leave_sleep_state().
> 
> The problem is that it enters a deadlock because:
> 
>    1- When setting PM1A_CONTROL with flag ACPI_MTX_LOCK, the hardware 
> mutex is locked, the system enters sleep right after writing the 
> register and never unlocks the mutex, because it resumes to a different 
> point;

Good point.
In fact, I am wondering why we have to acquire the hardware lock at all here.
(We should be the only thread allowed to be scheduled, here.)

> 
>    2- in acpi_leave_sleep_state() we disable BM artbitration, and here 
> it locks forever, waiting a hardware mutex release.

The comment is wrong.  In fact we ensure that BM arbitration is on.

> Disabling APCI_MTX_LOCK on the 1st point seems to go around the problem, 
> and the system resumes almost OK, only HDD DMA is disabled:
> 
> Feb  6 18:19:26 supernova kernel: hda: status timeout: status=0x80 { Busy }
> Feb  6 18:19:26 supernova kernel: hda: DMA disabled
> Feb  6 18:19:26 supernova kernel: hda: drive not ready for command
> Feb  6 18:19:27 supernova kernel: ide0: reset: master: error (0x00?)

Problem with the ide bridge resume path perhaps ?

-- 
Ducrot Bruno

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-02-06 20:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-02-06 18:33 ACPI Lock after resume from S3 [2.5.59+latest ACPI] Alvaro Lopes
     [not found] ` <3E42AA7A.1030207-JkNoWtNHh5AAvxtiuMwx3w@public.gmane.org>
2003-02-06 20:47   ` Ducrot Bruno

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox