Skip to contentSkip to conversation

Patch "blk-mq-pci: add a fallback when pci_irq_get_affinity returns NULL" has been added to the 4.12-stable tree

PATCH [email protected] 1 participant 1 message Aug 20, 2017

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

blk-mq-pci: add a fallback when pci_irq_get_affinity returns NULL

to the 4.12-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
blk-mq-pci-add-a-fallback-when-pci_irq_get_affinity-returns-null.patch
and it can be found in the queue-4.12 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From c005390374957baacbc38eef96ea360559510aa7 Mon Sep 17 00:00:00 2001

From: Christoph Hellwig <[email protected]>
Date: Thu, 17 Aug 2017 12:24:47 +0200
Subject: blk-mq-pci: add a fallback when pci_irq_get_affinity returns NULL

From: Christoph Hellwig <[email protected]>

commit c005390374957baacbc38eef96ea360559510aa7 upstream.

While pci_irq_get_affinity should never fail for SMP kernel that implement the affinity mapping, it will always return NULL in the UP case, so provide a fallback mapping of all queues to CPU 0 in that case.

---
 block/blk-mq-pci.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
block/blk-mq-pci.c +7 -1
@@ -36,12 +36,18 @@ int blk_mq_pci_map_queues(struct blk_mq_
 	for (queue = 0; queue < set->nr_hw_queues; queue++) {
 		mask = pci_irq_get_affinity(pdev, queue);
 		if (!mask)
-			return -EINVAL;
+			goto fallback;
 
 		for_each_cpu(cpu, mask)
 			set->mq_map[cpu] = queue;
 	}
 
 	return 0;
+
+fallback:
+	WARN_ON_ONCE(set->nr_hw_queues > 1);
+	for_each_possible_cpu(cpu)
+		set->mq_map[cpu] = 0;
+	return 0;
 }
 EXPORT_SYMBOL_GPL(blk_mq_pci_map_queues);

Patches currently in stable-queue which might be from [email protected] are

queue-4.12/blk-mq-pci-add-a-fallback-when-pci_irq_get_affinity-returns-null.patch