diff mbox series

scsi: pm8001: do not overwrite PCI queue mapping

Message ID 20240912-do-not-overwrite-pci-mapping-v1-1-85724b6cec49@suse.de (mailing list archive)
State Accepted
Commit a141c17a543332fc1238eb5cba562bfc66879126
Headers show
Series scsi: pm8001: do not overwrite PCI queue mapping | expand

Commit Message

Daniel Wagner Sept. 12, 2024, 8:58 a.m. UTC
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@lst.de>
Reviewed-by: John Garry <john.g.garry@oracle.com>
Signed-off-by: Daniel Wagner <dwagner@suse.de>
---
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@suse.de
---
 drivers/scsi/pm8001/pm8001_init.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)


---
base-commit: 70302fc7adcd29c4c744489cd89e2d3ed08ecd8d
change-id: 20240912-do-not-overwrite-pci-mapping-91d17118323e

Best regards,

Comments

Martin K. Petersen Sept. 13, 2024, 12:52 a.m. UTC | #1
Daniel,

> 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.

Applied to 6.12/scsi-staging, thanks!
Martin K. Petersen Sept. 19, 2024, 3:52 p.m. UTC | #2
On Thu, 12 Sep 2024 10:58:28 +0200, Daniel Wagner wrote:

> 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.
> 
> 

Applied to 6.12/scsi-queue, thanks!

[1/1] scsi: pm8001: do not overwrite PCI queue mapping
      https://git.kernel.org/mkp/scsi/c/a141c17a5433
diff mbox series

Patch

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);
 }
 
 /*