* 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[parent not found: <3E42AA7A.1030207-JkNoWtNHh5AAvxtiuMwx3w@public.gmane.org>]
* 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