Skip to content

Commit 86dbf32

Browse files
niklas88Vasily Gorbik
authored andcommitted
s390/pci: do not set affinity for floating irqs
with the introduction of CPU directed interrupts the kernel parameter pci=force_floating was introduced to fall back to the previous behavior using floating irqs. However we were still setting the affinity in that case, both in __irq_alloc_descs() and via the irq_set_affinity callback in struct irq_chip. For the former only set the affinity in the directed case. The latter is explicitly set in zpci_directed_irq_init() so we can just leave it unset for the floating case. Fixes: e979ce7 ("s390/pci: provide support for CPU directed interrupts") Co-developed-by: Alexander Schmidt <[email protected]> Signed-off-by: Alexander Schmidt <[email protected]> Signed-off-by: Niklas Schnelle <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
1 parent 8ebf6da commit 86dbf32

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

arch/s390/pci/pci_irq.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,6 @@ static struct irq_chip zpci_irq_chip = {
115115
.name = "PCI-MSI",
116116
.irq_unmask = pci_msi_unmask_irq,
117117
.irq_mask = pci_msi_mask_irq,
118-
.irq_set_affinity = zpci_set_irq_affinity,
119118
};
120119

121120
static void zpci_handle_cpu_local_irq(bool rescan)
@@ -276,7 +275,9 @@ int arch_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
276275
rc = -EIO;
277276
if (hwirq - bit >= msi_vecs)
278277
break;
279-
irq = __irq_alloc_descs(-1, 0, 1, 0, THIS_MODULE, msi->affinity);
278+
irq = __irq_alloc_descs(-1, 0, 1, 0, THIS_MODULE,
279+
(irq_delivery == DIRECTED) ?
280+
msi->affinity : NULL);
280281
if (irq < 0)
281282
return -ENOMEM;
282283
rc = irq_set_msi_desc(irq, msi);

0 commit comments

Comments
 (0)