Commit 2c2d831c authored by Christoph Hellwig's avatar Christoph Hellwig Committed by James Bottomley

[SCSI] uas: disable use of blk-mq I/O path

The uas driver uses the block layer tag for USB3 stream IDs.  With
blk-mq we can get larger tag numbers that the queue depth, which breaks
this assumption.  A fix is under way for 3.18, but sits on top of
large changes so can't easily be backported.   Set the disable_blk_mq
path so that a uas device can't easily crash the system when using
blk-mq for SCSI.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Acked-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent 078efae0
...@@ -970,6 +970,13 @@ static struct scsi_host_template uas_host_template = { ...@@ -970,6 +970,13 @@ static struct scsi_host_template uas_host_template = {
.cmd_per_lun = 1, /* until we override it */ .cmd_per_lun = 1, /* until we override it */
.skip_settle_delay = 1, .skip_settle_delay = 1,
.ordered_tag = 1, .ordered_tag = 1,
/*
* The uas drivers expects tags not to be bigger than the maximum
* per-device queue depth, which is not true with the blk-mq tag
* allocator.
*/
.disable_blk_mq = true,
}; };
#define UNUSUAL_DEV(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax, \ #define UNUSUAL_DEV(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax, \
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment