diff options
Diffstat (limited to 'drivers/usb/storage/scsiglue.c')
-rw-r--r-- | drivers/usb/storage/scsiglue.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c index 5715291ba54..a4b7df9ff8c 100644 --- a/drivers/usb/storage/scsiglue.c +++ b/drivers/usb/storage/scsiglue.c | |||
@@ -112,13 +112,11 @@ static int slave_configure(struct scsi_device *sdev) | |||
112 | if (sdev->scsi_level < SCSI_2) | 112 | if (sdev->scsi_level < SCSI_2) |
113 | sdev->scsi_level = sdev->sdev_target->scsi_level = SCSI_2; | 113 | sdev->scsi_level = sdev->sdev_target->scsi_level = SCSI_2; |
114 | 114 | ||
115 | /* According to the technical support people at Genesys Logic, | 115 | /* Many devices have trouble transfering more than 32KB at a time, |
116 | * devices using their chips have problems transferring more than | 116 | * while others have trouble with more than 64K. At this time we |
117 | * 32 KB at a time. In practice people have found that 64 KB | 117 | * are limiting both to 32K (64 sectores). |
118 | * works okay and that's what Windows does. But we'll be | 118 | */ |
119 | * conservative; people can always use the sysfs interface to | 119 | if ((us->flags & US_FL_MAX_SECTORS_64) && |
120 | * increase max_sectors. */ | ||
121 | if (le16_to_cpu(us->pusb_dev->descriptor.idVendor) == USB_VENDOR_ID_GENESYS && | ||
122 | sdev->request_queue->max_sectors > 64) | 120 | sdev->request_queue->max_sectors > 64) |
123 | blk_queue_max_sectors(sdev->request_queue, 64); | 121 | blk_queue_max_sectors(sdev->request_queue, 64); |
124 | 122 | ||