USB: uas: honor flag to avoid CAPACITY16
authorOliver Neukum <oneukum@suse.com>
Thu, 14 Nov 2019 11:27:56 +0000 (12:27 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 18 Nov 2019 11:41:55 +0000 (12:41 +0100)
Copy the support over from usb-storage to get feature parity

Signed-off-by: Oliver Neukum <oneukum@suse.com>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20191114112758.32747-2-oneukum@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/storage/uas.c

index 3453825..def2d4a 100644 (file)
@@ -825,6 +825,10 @@ static int uas_slave_configure(struct scsi_device *sdev)
                sdev->wce_default_on = 1;
        }
 
+       /* Some disks cannot handle READ_CAPACITY_16 */
+       if (devinfo->flags & US_FL_NO_READ_CAPACITY_16)
+               sdev->no_read_capacity_16 = 1;
+
        /*
         * Some disks return the total number of blocks in response
         * to READ CAPACITY rather than the highest block number.