b876aef7f8
This patch is originally from Alan Stern (as557). It has been re-diffed against a current tree, and I also corrected a minor merging error. Some time ago we introduced a delay before device scanning, because many devices do not like to receive SCSI commands right after enumeration. Now it turns out there's a device that doesn't like to receive Get-Max-LUN right after enumeration either. Accordingly this patch delays the Get-Max-LUN request until the beginning of the scanning procedure. This fixes Bugzilla entry #5010. Three things are worth noting. First, I removed the locking code from usb_stor_acquire_resources. It's not needed, because the locking is to protect against disconnect events and acquire_resources is only called during probe (so the disconnect routine can't be called). Second, I initialized to 0 the buffer used for the Get-Max-LUN response. It's not really necessary, but it will prevent random values from showing up in the debugging log when the request fails. Third, I added a test against the SINGLE_LUN flag. This will allow us to use the flag to indicate Bulk-only devices that can't handle Get-Max-LUN. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
||
---|---|---|
.. | ||
datafab.c | ||
datafab.h | ||
debug.c | ||
debug.h | ||
dpcm.c | ||
dpcm.h | ||
freecom.c | ||
freecom.h | ||
initializers.c | ||
initializers.h | ||
isd200.c | ||
isd200.h | ||
jumpshot.c | ||
jumpshot.h | ||
Kconfig | ||
Makefile | ||
onetouch.c | ||
onetouch.h | ||
protocol.c | ||
protocol.h | ||
scsiglue.c | ||
scsiglue.h | ||
sddr09.c | ||
sddr09.h | ||
sddr55.c | ||
sddr55.h | ||
shuttle_usbat.c | ||
shuttle_usbat.h | ||
transport.c | ||
transport.h | ||
unusual_devs.h | ||
usb.c | ||
usb.h |