USB: uas: heed CAPACITY_HEURISTICS
authorOliver Neukum <oneukum@suse.com>
Thu, 14 Nov 2019 11:27:57 +0000 (12:27 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 21 Dec 2019 09:41:46 +0000 (10:41 +0100)
commit 335cbbd5762d5e5c67a8ddd6e6362c2aa42a328f upstream.

There is no need to ignore this flag. We should be as close
to storage in that regard as makes sense, so honor flags whose
cost is tiny.

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

index 0f21a2832ca63a51164c3135d008f0951e1bc5e1..a6999042e7ad03af6307ecae1c6f0cd90fac768f 100644 (file)
@@ -844,6 +844,12 @@ static int uas_slave_configure(struct scsi_device *sdev)
        if (devinfo->flags & US_FL_FIX_CAPACITY)
                sdev->fix_capacity = 1;
 
+       /*
+        * in some cases we have to guess
+        */
+       if (devinfo->flags & US_FL_CAPACITY_HEURISTICS)
+               sdev->guess_capacity = 1;
+
        /*
         * Some devices don't like MODE SENSE with page=0x3f,
         * which is the command used for checking if a device