lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ