On Tue, 30 Jul 2013, Oliver Neukum wrote: > On Mon, 2013-07-29 at 10:21 -0400, Alan Stern wrote: > > On Mon, 29 Jul 2013, Oliver Neukum wrote: > > > > > On Fri, 2013-07-26 at 16:31 -0400, Alan Stern wrote: > > > > > > > In addition to my earlier comment, the patch below should be applied. > > > > It will fix your immediate problem, although not in the best way. > > > > > > Alan, > > > > > > I think your diagnosis is correct, but not the fix. > > > This is run even in the runtime case. We might lose > > > data if the flush is not done. > > > > Actually no, the scsi_bus_suspend_common() routine does not run during > > runtime PM. It gets called only from scsi_bus_suspend(), > > scsi_bus_freeze(), and scsi_bus_poweroff(), which are all part of > > system sleep. > > Well yes, but you handled only the system case that way. The runtime > case is still affected. That's why I said the patch would fix the immediate problem but it wasn't the best solution. You do agree that the patch is correct, as far as it goes? If you would like to handle the problems in sd.c concerning the sync-cache and spin-down stuff, that will be fine with me. Alan Stern