• Alan Stern's avatar
    [PATCH] PATCH: usb-storage: move GetMaxLUN later in time · b876aef7
    Alan Stern authored
    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: default avatarAlan Stern <stern@rowland.harvard.edu>
    Signed-off-by: default avatarMatthew Dharm <mdharm-usb@one-eyed-alien.net>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    b876aef7
transport.c 38.5 KB