On Mon, 24 Sep 2007, Oliver Neukum wrote: > Am Dienstag 18 September 2007 schrieb James Bottomley: > > On Tue, 2007-09-18 at 16:15 +0200, Oliver Neukum wrote: > > > It is for runtime power management. We've gotten a bug report about > > > a drive enclosure that doesn't properly park heads if the usb device is > > > simply suspended. Apparently it simply cuts power so the cache can > > > be lost, too. > > > > But even for runtime, if you want to suspend the device, shouldn't you > > be calling the suspend methods in the device tree? > > Very good question. It seems to that yes indeed, we should. But we don't > in case of autosuspend. We simply suspend the interfaces: It's a loaded question. The fact is, the existing suspend methods in the device tree are intended for system-wide suspend, not for runtime suspend. The PM and driver cores don't include _any_ provision for runtime suspend; it has to be managed separately by each subsystem. And that means we need a method of communication between the SCSI and USB subsystems. The SCSI core has to tell usb-storage when it's okay to do a runtime suspend. More generally, every host adapter driver should have a method in its driver template which the SCSI core can invoke when it is safe to suspend the adapter (and thus the entire bus). Alan Stern - To unsubscribe from this list: 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