aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/storage
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2010-10-01 17:20:10 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-10-22 13:22:04 -0400
commitae38c78a03e1b77ad45248fcf097e4568e740209 (patch)
treef751122a6ec59825793f7786cec15f76a89c905f /drivers/usb/storage
parent8e04d8056c1ea0e0aab730994b74756f0526cda8 (diff)
usb-storage: add new no_read_disc_info quirk
Appotech ax3003 (the larger brother of the ax203) based devices are even more buggy then the ax203. They will go of into lala land when ever they see a READ_DISC_INFO scsi command. So add a new US_FL which tells the scsi sr driver to not issue any READ_DISC_INFO scsi commands. [akpm@linux-foundation.org: fix build] Signed-off-by: Hans de Goede <hdegoede@redhat.com> Cc: James Bottomley <James.Bottomley@HansenPartnership.com> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/storage')
-rw-r--r--drivers/usb/storage/scsiglue.c4
-rw-r--r--drivers/usb/storage/unusual_devs.h5
2 files changed, 9 insertions, 0 deletions
diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c
index e80362d148f3..a1128ff5cc2c 100644
--- a/drivers/usb/storage/scsiglue.c
+++ b/drivers/usb/storage/scsiglue.c
@@ -253,6 +253,10 @@ static int slave_configure(struct scsi_device *sdev)
253 * or to force 192-byte transfer lengths for MODE SENSE. 253 * or to force 192-byte transfer lengths for MODE SENSE.
254 * But they do need to use MODE SENSE(10). */ 254 * But they do need to use MODE SENSE(10). */
255 sdev->use_10_for_ms = 1; 255 sdev->use_10_for_ms = 1;
256
257 /* Some (fake) usb cdrom devices don't like READ_DISC_INFO */
258 if (us->fflags & US_FL_NO_READ_DISC_INFO)
259 sdev->no_read_disc_info = 1;
256 } 260 }
257 261
258 /* The CB and CBI transports have no way to pass LUN values 262 /* The CB and CBI transports have no way to pass LUN values
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
index f43314a22ba4..c8264ff5457e 100644
--- a/drivers/usb/storage/unusual_devs.h
+++ b/drivers/usb/storage/unusual_devs.h
@@ -1858,6 +1858,11 @@ UNUSUAL_DEV( 0x1908, 0x1320, 0x0000, 0x0000,
1858 "Photo Frame", 1858 "Photo Frame",
1859 USB_SC_DEVICE, USB_PR_DEVICE, NULL, 1859 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1860 US_FL_BAD_SENSE ), 1860 US_FL_BAD_SENSE ),
1861UNUSUAL_DEV( 0x1908, 0x3335, 0x0200, 0x0200,
1862 "BUILDWIN",
1863 "Photo Frame",
1864 USB_SC_DEVICE, USB_PR_DEVICE, NULL,
1865 US_FL_NO_READ_DISC_INFO ),
1861 1866
1862UNUSUAL_DEV( 0x2116, 0x0320, 0x0001, 0x0001, 1867UNUSUAL_DEV( 0x2116, 0x0320, 0x0001, 0x0001,
1863 "ST", 1868 "ST",