Christoph Hellwig <hch@xxxxxxxxxxxxx> writes: > Please try the fix below, looks like the commit broke TCQ for all drivers > using block-level tagging. > > --- > From 865a19b760d2786fe37d3b5c151a4ecea4c0e95e Mon Sep 17 00:00:00 2001 > From: Christoph Hellwig <hch@xxxxxx> > Date: Fri, 12 Sep 2014 16:00:19 -0700 > Subject: scsi: fix regression that accidentally disabled block-based tcq > > The scsi blk-mq support accidentally flipped a conditional, which lead to > never enabling block based tcq when using the legacy request path. > > Fixes: d285203cf647d7c9 scsi: add support for a blk-mq based I/O path. > Reported-by: Hans de Goede <hdegoede@xxxxxxxxxx> > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > include/scsi/scsi_tcq.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/scsi/scsi_tcq.h b/include/scsi/scsi_tcq.h > index cdcc90b..e645835 100644 > --- a/include/scsi/scsi_tcq.h > +++ b/include/scsi/scsi_tcq.h > @@ -68,7 +68,7 @@ static inline void scsi_activate_tcq(struct scsi_device *sdev, int depth) > return; > > if (!shost_use_blk_mq(sdev->host) && > - blk_queue_tagged(sdev->request_queue)) > + !blk_queue_tagged(sdev->request_queue)) > blk_queue_init_tags(sdev->request_queue, depth, > sdev->host->bqt); Introduced by d285203: - if (!blk_queue_tagged(sdev->request_queue)) + if (!shost_use_blk_mq(sdev->host) && + blk_queue_tagged(sdev->request_queue)) Seems like an obvious fix. Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html