uas: bump hw_max_sectors to 2048 blocks for SS or faster drives
authorTom Yan <tom.ty89@gmail.com>
Thu, 3 Sep 2020 18:17:25 +0000 (02:17 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 4 Sep 2020 15:00:39 +0000 (17:00 +0200)
There's no reason for uas to use a smaller value of max_sectors than
usb-storage.

Signed-off-by: Tom Yan <tom.ty89@gmail.com>
Reviewed-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/20200903181725.2931-3-tom.ty89@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/storage/uas.c

index f4beeb8..c1123da 100644 (file)
@@ -839,6 +839,8 @@ static int uas_slave_configure(struct scsi_device *sdev)
                blk_queue_max_hw_sectors(sdev->request_queue, 64);
        else if (devinfo->flags & US_FL_MAX_SECTORS_240)
                blk_queue_max_hw_sectors(sdev->request_queue, 240);
+       else if (devinfo->udev->speed >= USB_SPEED_SUPER)
+               blk_queue_max_hw_sectors(sdev->request_queue, 2048);
 
        blk_queue_max_hw_sectors(sdev->request_queue,
                min_t(size_t, queue_max_hw_sectors(sdev->request_queue),