PCI/TPH: Replace the broken MSI-X control word update
authorThomas Gleixner <tglx@linutronix.de>
Wed, 19 Mar 2025 10:56:58 +0000 (11:56 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 9 Apr 2025 18:47:30 +0000 (20:47 +0200)
commit71296eae5887de830a84e9b350bd360c560e74f9
tree8ffabfbb33f00a9d203121851e162d24f66a2993
parentd5124a9957b2a8d728a86ea8462e0c404acae016
PCI/TPH: Replace the broken MSI-X control word update

The driver walks the MSI descriptors to test whether a descriptor exists
for a given index. That's just abuse of the MSI internals.

The same test can be done with a single function call by looking up whether
there is a Linux interrupt number assigned at the index.

What's worse is that the function is completely unserialized against
modifications of the MSI-X control by operations issued from the interrupt
core. It also brings the PCI/MSI-X internal cached control word out of
sync.

Remove the trainwreck and invoke the function provided by the PCI/MSI core
to update it.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://lore.kernel.org/all/20250319105506.744271447@linutronix.de
drivers/pci/tph.c