--- a/drivers/usb/storage/scsiglue.c +++ b/drivers/usb/storage/scsiglue.c @@ -95,6 +95,11 @@ static int detect(struct SHT *sht) if (us->host) { us->host->hostdata[0] = (unsigned long)us; us->host_no = us->host->host_no; + + /* allow 16-byte CDBs as we need it for devices > 2TB + and ATA command pass-through */ + us->host->max_cmd_len = 16; + return 1; }