On Mon, 2002-11-11 at 18:24, Linus Torvalds wrote: > > On 11 Nov 2002, Alan Cox wrote: > > > > The stupid thing is we take the lock then call the eh function then drop > > it. You can drop the lock, wait and retake it. I need to fix a couple of > > other drivers to do a proper wait and in much the same way. > > Hmm.. I wonder if the thing should disable the queue (plug it) and release > the lock before calling reset. I assume we don't want any new requests at > this point anyway, and having the low-level drivers know about stopping > the queue etc sounds like a bad idea.. something similar is needed in the scsi layer for other reasons too; I can imagine something that behaves similar as the network layer's netif_stop_queue() and allows drivers to inform the upper layer to stop trying to submit requests to the lower level driver. Fiber channel drivers can do this for example on LIP down (and enable again on LIP up). LIP is not the only reason this is useful; overall I estimate that over half of the code in the (out of tree) qlogic 2x00 driver can be removed if this functionality was available. Greetings, Arjan van de Ven