summaryrefslogtreecommitdiff
path: root/drivers/usb/storage/usb.h
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2014-10-12 14:19:40 +0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-11-04 02:34:00 +0300
commite28e2f2f7c42e5b9dd4c965a0245267e44a8a7ae (patch)
treed03d3f98fe2a92f51a5a9a55606a84306251b6e9 /drivers/usb/storage/usb.h
parent1cc373c654acde47d78da9cccb5732dab2cc584f (diff)
downloadlinux-e28e2f2f7c42e5b9dd4c965a0245267e44a8a7ae.tar.xz
uas: Make uas work with blk-mq
With uas over usb-3 the tags inside the uas iu-s must match the usb-3 stream ids, and those go from 1 - qdepth. Before blk-mq calling scsi_activate_tcq(sdev, qdepth) guaranteed that we would only get cmnd->request->tag from 0 - (qdepth - 1), and we used those as uas-tags / stream-ids. With blk-mq however we are guaranteed to never get more then qdepth commands queued at the same time, but the cmnd->request->tag values may be much larger, which breaks uas. This commit fixes this by generating uas tags in the 1 - qdepth range ourselves instead of using cmnd->request->tag. While touching all involved code anyways also rename the uas_cmd_info stream field to uas_tag, because when using uas over usb-2 streams are not used. Cc: Christoph Hellwig <hch@infradead.org> Reported-by: Douglas Gilbert <dgilbert@interlog.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> -- Changes in v2: -Remove ".disable_blk_mq = true" from uas_host_template Changes in v3: -Rebased on top of Linus' current master branch Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/storage/usb.h')
0 files changed, 0 insertions, 0 deletions