summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Sharpe <rsharpe@richardsharpe.com>2007-10-10 10:56:28 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2007-10-12 14:55:33 -0700
commit17f060224fb9f435c6f9306b7b61419d038def13 (patch)
tree9ea83420b7b7b4143977efc2c303e94a7dde61f7
parenteecfb911a03a48ef5f7114246343128bd01c1b5f (diff)
USB: allow usbstorage to have LUNS greater than 2Tb
Attached is a very small patch (several comment lines) and a one-line coded change) that allows for USB storage devices that are larger than 2TB. At the company where I work we need such support, and one of my co-workers, Jane Liu, pointed out that SCSI low-layer drivers need to specify what size CDBs they accept. After looking through the code it became obvious that the current USB Storage code accepted the default of 12-byte CDBs, so I changed it to accept 16-byte CDBs. This allows our device to work. Signed-off-by: Richard Sharpe <rsharpe@richardsharpe.com> Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/usb/storage/usb.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c
index 59181667066..3451e8d03ab 100644
--- a/drivers/usb/storage/usb.c
+++ b/drivers/usb/storage/usb.c
@@ -960,6 +960,10 @@ static int storage_probe(struct usb_interface *intf,
return -ENOMEM;
}
+ /*
+ * Allow 16-byte CDBs and thus > 2TB
+ */
+ host->max_cmd_len = 16;
us = host_to_us(host);
memset(us, 0, sizeof(struct us_data));
mutex_init(&(us->dev_mutex));