[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.60.0703012305030.7351@poirot.grange>
Date: Thu, 1 Mar 2007 23:11:54 +0100 (CET)
From: Guennadi Liakhovetski <g.liakhovetski@....de>
To: Alan <alan@...rguk.ukuu.org.uk>
cc: linux-kernel@...r.kernel.org, jgarzik@...ox.com,
linux-pm@...ts.osdl.org, Tejun Heo <htejun@...il.com>,
linux-ide@...r.kernel.org
Subject: Re: [PATCH] pata_sil680 suspend/resume
Tejun,
I tracked this change down to your patch:
http://marc.theaimsgroup.com/?t=115012763500002&r=1&w=2 (approximately).
(Interestingly, Jeff submitted the respective cumulative libata patch last
year on my birthday:-( ) Also, there's a Ubuntu bug report:
https://launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/76431
identical to what I see, although I cannot check if it worked before
2.6.20. Could you, please, comment how is this supposed to work? In
particular, what shoud trigger the EH action, leading to setting the
ATA_DFLAG_SUSPENDED flag? Below again my earlier post for reference.
Thanks
Guennadi
On Wed, 28 Feb 2007, Guennadi Liakhovetski wrote:
> 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
>
---
Guennadi Liakhovetski
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists