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>
Tue, 17 Dec 2019 18:55:32 +0000 (19:55 +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 def2d4a..475b9c6 100644 (file)
@@ -838,6 +838,12 @@ static int uas_slave_configure(struct scsi_device *sdev)
                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
         * is write-protected.  Now that we tell the sd driver