Source
36
36
{
37
37
const struct cpumask *mask;
38
38
unsigned int queue, cpu;
39
39
40
40
for (queue = 0; queue < qmap->nr_queues; queue++) {
41
41
mask = pci_irq_get_affinity(pdev, queue + offset);
42
42
if (!mask)
43
43
goto fallback;
44
44
45
45
for_each_cpu(cpu, mask)
46
-
qmap->mq_map[cpu] = queue;
46
+
qmap->mq_map[cpu] = qmap->queue_offset + queue;
47
47
}
48
48
49
49
return 0;
50
50
51
51
fallback:
52
52
WARN_ON_ONCE(qmap->nr_queues > 1);
53
53
blk_mq_clear_mq_map(qmap);
54
54
return 0;
55
55
}
56
56
EXPORT_SYMBOL_GPL(blk_mq_pci_map_queues);