blk_mq_pci_map_queues maps all queues but right after this, we overwrite these mappings by calling blk_mq_map_queues. Just use one helper but not both. Fixes: 42f22fe36d51 ("scsi: pm8001: Expose hardware queues for pm80xx") Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: John Garry <john.g.garry@xxxxxxxxxx> Signed-off-by: Daniel Wagner <dwagner@xxxxxxx> --- I've factored this fix out from the 'honor isolcpus configuration' [1] series. No need to hold the fix off. [1] https://lore.kernel.org/all/20240806-isolcpus-io-queues-v3-0-da0eecfeaf8b@xxxxxxx --- drivers/scsi/pm8001/pm8001_init.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/pm8001/pm8001_init.c b/drivers/scsi/pm8001/pm8001_init.c index 1e63cb6cd8e3..33e1eba62ca1 100644 --- a/drivers/scsi/pm8001/pm8001_init.c +++ b/drivers/scsi/pm8001/pm8001_init.c @@ -100,10 +100,12 @@ static void pm8001_map_queues(struct Scsi_Host *shost) struct pm8001_hba_info *pm8001_ha = sha->lldd_ha; struct blk_mq_queue_map *qmap = &shost->tag_set.map[HCTX_TYPE_DEFAULT]; - if (pm8001_ha->number_of_intr > 1) + if (pm8001_ha->number_of_intr > 1) { blk_mq_pci_map_queues(qmap, pm8001_ha->pdev, 1); + return; + } - return blk_mq_map_queues(qmap); + blk_mq_map_queues(qmap); } /* --- base-commit: 70302fc7adcd29c4c744489cd89e2d3ed08ecd8d change-id: 20240912-do-not-overwrite-pci-mapping-91d17118323e Best regards, -- Daniel Wagner <dwagner@xxxxxxx>