diff options
| author | Tobias Schumacher <ts@linux.ibm.com> | 2026-10-09 08:15:53 +0200 |
|---|---|---|
| committer | Heiko Carstens <hca@linux.ibm.com> | 2026-10-13 17:01:47 +0200 |
| commit | 343d1acd1abd0d9320f8b4252c736246ba764d4e (patch) | |
| tree | 34a149cde0671ed3fc8bd2763718c60adc0efd55 /tools/lib/python | |
| parent | 769f66f595c11185c66913ea5d96420504bfebc3 (diff) | |
| download | linux-next-343d1acd1abd0d9320f8b4252c736246ba764d4e.tar.gz linux-next-343d1acd1abd0d9320f8b4252c736246ba764d4e.zip | |
s390/pci: Set MSI_FLAG_NO_AFFINITY at IRQ init time
MSI_FLAG_NO_AFFINITY is added to zpci_msi_parent_ops.required_flags from
zpci_create_parent_msi_domain(), which runs for every new PCI bus,
including buses created at runtime from a hotplug availability event.
That is a non-atomic read-modify-write on a field which
msi_lib_init_dev_msi_info() reads without a common lock while setting up
MSI for a device on an already existing bus:
required_flags = pops->required_flags;
The stored value is always the same, so no caller observes a change, but
the race need not exist: irq_delivery is decided once in zpci_irq_init()
and never changes afterwards.
Set the flag there instead, before any parent domain exists.
Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Tobias Schumacher <ts@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions
