blk-mq needs to know if the controller allocates managed irq vectors or not, so pass the info to blk-mq. The rule is that driver has to tell blk-mq if managed irq is used. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> --- drivers/nvme/host/pci.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index d3c5086673bc..093c56e1428e 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -2317,7 +2317,8 @@ static void nvme_dev_add(struct nvme_dev *dev) dev->tagset.queue_depth = min_t(unsigned int, dev->q_depth, BLK_MQ_MAX_DEPTH) - 1; dev->tagset.cmd_size = sizeof(struct nvme_iod); - dev->tagset.flags = BLK_MQ_F_SHOULD_MERGE; + dev->tagset.flags = BLK_MQ_F_SHOULD_MERGE | + BLK_MQ_F_MANAGED_IRQ; dev->tagset.driver_data = dev; /* -- 2.31.1