On Sunday, June 26, 2011, Alan Stern wrote: > On Fri, 24 Jun 2011, Rafael J. Wysocki wrote: > > > > > I'm still not clear on why the error handler needs to run at this time. > > > > > > Because SATA ports are suspended with the help of the SCSI error handling > > > mechanism (which Tejun claims is the best way to do that). > > > I've carried out this exercise to see how complicated it is going to be > > and it doesn't really seem to be _that_ complicated. The appended patch > > illustrates this, but it hasn't been tested, so caveat emptor. > > The patch is straightforward enough. But will it be sufficient? > > Suppose a SATA port is already in runtime suspend when the system sleep > starts. Will the error handler be able to do its special job? I don't > know... It may turn out to be necessary for the SATA port to be > runtime resumed somewhere along the line. That's correct, but at least in the ususal situation (i.e. sdev_gendev is not suspended at run time) the patch makes things work when runtime PM is disabled during system suspend and enabled during system resume. It still may be necessary to add code to the SATA subsystem if sdev_gendev is to be suspended at run time for SATA controllers. I'm not aware of any of such cases, though. Thanks, Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html