On Thu, Sep 29, 2005 at 01:21:28AM -0400, Jeff Garzik wrote: > Ah hah! I found the other SCSI suspend patch: > > http://lwn.net/Articles/97453/ > > Anybody (Joshua?) up for reconciling and testing the two? > > The main change from Jens/Joshua's patch is that we use SCSI's > sd_shutdown() to call sync cache, eliminating the need for > ata_flush_cache(), since the SCSI layer would now perform that. > > For bonus points, > > 1) sd should call START STOP UNIT on suspend, which eliminates the need > for ata_standby_drive(), and completely encompasses the suspend process > in the SCSI layer. > > 2) sd should call START STOP UNIT on resume -- and as a SUPER BONUS, the > combination of these two changes ensures that there are no queue > synchronization issues, the likes of which would require hacks like > Jens' while-loop patch. > > None of these are huge changes requiring a lot of thinking/planning... > > Finally, ideally, we should be issuing a hardware or software reset on > suspend. I like this one much more than the other patch aswell, because suspsending is an ULDD operation, not an LLDD one, and this fits the layering model much better. The only complaints here are cosmetics: - generic_scsi_suspend/generic_scsi_resume are misnamed, they should probably be scsi_device_suspend/resume. - while we're at it they could probably move to scsi_sysfs.c to keep them static in one file - they're just a tiny bit of glue anyway. - get rid of all the CONFIG_PM ifdefs - it just clutters thing up far too much. - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html