On Thu, Apr 30, 2020 at 03:18:24PM +0200, Hannes Reinecke wrote: > diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c > index 47835c4b4ee0..5358f553f526 100644 > --- a/drivers/scsi/scsi_lib.c > +++ b/drivers/scsi/scsi_lib.c > @@ -1885,6 +1885,7 @@ int scsi_mq_setup_tags(struct Scsi_Host *shost) > shost->tag_set.ops = &scsi_mq_ops_no_commit; > shost->tag_set.nr_hw_queues = shost->nr_hw_queues ? : 1; > shost->tag_set.queue_depth = shost->can_queue; > + shost->tag_set.reserved_tags = shost->nr_reserved_cmds; Insteda of just passing through the value I think we should remove them from can_queue here - as seen in the few patches the current behavior of summing both up seems to cause a fair amount of confusion. Also I'd merge this with the patch to actually allocate reserved command, as that is one actual unit of useful functionality.