On Thu, Mar 20, 2003 at 11:32:45AM -0500, Alan Stern wrote: > Requiring every driver which might be bound to an interface that is part > of a storage device to avoid GFP_KERNEL feels too draconian to me. Maybe > it would be better simply to remove the usb_reset_device() call from > usb-storage, or to implement it differently. For example, usb-storage's > function for handling an emulated SCSI bus reset (which is where > usb_reset_device() gets called) might mark the device as bad, fail the > reset call, fail all following SCSI calls, disconnect itself (telling SCSI > that the device is gone), and then reset the device and be re-probed. > I'm not really recommending this, but at least it would mean any other > drivers bound to that same device wouldn't be forced to avoid ever waiting > on I/O.
I've actually been thinking along those lines, too... but, given the new
design where devices aren't 'remembered', doing the above would disconnect
a device and create a new one (as seen by the user). It kinda defeats the
entire purpose of the reset (which is to try to get back to a good state).
My guess is that we just have to make a decision on reset-recovery: Is it
worth it? If not, let's just implement Alan's suggestion and be done with
it.
Matt
--
Matthew Dharm Home: [EMAIL PROTECTED]
Maintainer, Linux USB Mass Storage Driver
NYET! The evil stops here!
-- Pitr
User Friendly, 6/22/1998
pgp00000.pgp
Description: PGP signature
