usb-storage: enable multi-LUN scanning when needed
authorAlan Stern <stern@rowland.harvard.edu>
Thu, 30 Jan 2014 15:43:22 +0000 (10:43 -0500)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 1 Apr 2014 23:58:48 +0000 (00:58 +0100)
commitfecfa5d27e1a8f833d2d4d4705946c7aaa6b4e07
tree5dd81c3297bf6413c2839f9bbca674f6ec530a1f
parentef5bc9a475f12442ace9b7cc9f22d2a7fc928fdc
usb-storage: enable multi-LUN scanning when needed

commit 823d12c95c666fa7ab7dad208d735f6bc6afabdc upstream.

People sometimes create their own custom-configured kernels and forget
to enable CONFIG_SCSI_MULTI_LUN.  This causes problems when they plug
in a USB storage device (such as a card reader) with more than one
LUN.

Fortunately, we can tell fairly easily when a storage device claims to
have more than one LUN.  When that happens, this patch asks the SCSI
layer to probe all the LUNs automatically, regardless of the config
setting.

The patch also updates the Kconfig help text for usb-storage,
explaining that CONFIG_SCSI_MULTI_LUN may be necessary.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Reported-by: Thomas Raschbacher <lordvan@lordvan.com>
CC: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
CC: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[bwh: Backported to 3.2:
 - Adjust context
 - slave_alloc() already has a us_data pointer]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/usb/storage/Kconfig
drivers/usb/storage/scsiglue.c