Re: [PATCH] pata_sil680 suspend/resume
- From: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
- Date: Wed, 28 Feb 2007 22:19:16 +0100 (CET)
On Mon, 26 Feb 2007, Guennadi Liakhovetski wrote:
With a post 2.6.20 kernel from powerpc.git I cannot suspend at all:
pata_sil680 0000:00:0c.0: suspend
ata1: suspend failed, device 0 still active
pci_device_suspend(): ata_pci_device_suspend+0x0/0x74() returns -16
suspend_device(): pci_device_suspend+0x0/0xac() returns -16
Could not suspend device 0000:00:0c.0: error -16
AFAICS, "still active" is printed from ata_host_suspend() if a device
(disk) on the host to be suspended doesn't have ATA_DFLAG_SUSPENDED flag
set. This flag is only set in ata_eh_suspend(), which is only called from
ata_eh_recover(), like this:
generic_error_handler()
ata_bmdma_drive_eh()
ata_do_eh()
ata_eh_recover()
ata_eh_suspend()
dev->flags |= ATA_DFLAG_SUSPENDED;
but I don't understand why the error handler should be envoked? Should the
"disk" be suspended before the host and is it when the eh should set the
flag? If my guess is right - why doesn't the disk get suspended on my
machine? Shall I suspend it explicitely from userspace? I do "hdparm -Y",
and it does stop spinning", but I still get the error.
Thanks
Guennadi
---
Guennadi Liakhovetski
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- References:
- Re: [PATCH] pata_sil680 suspend/resume
- From: Guennadi Liakhovetski
- Re: [PATCH] pata_sil680 suspend/resume
- Prev by Date: Re: Problem with freezable workqueues
- Next by Date: Re: 2.6.21-rc1: known regressions (v2) (part 1)
- Previous by thread: Re: [PATCH] pata_sil680 suspend/resume
- Next by thread: [PATCH] ____call_usermodehelper: don't flush_signals()
- Index(es):
Relevant Pages
|
|