PCI/MSI: Prevent recursive locking in pci_msix_write_tph_tag()
pci_msix_write_tph_tag() takes the per device MSI descriptor mutex and then invokes msi_domain_get_virq(), which takes the same mutex again. That obviously results in a system hang which is exposed by a softlockup or lockdep warning. Move the lock guard after the invocation of msi_domain_get_virq() to fix this. [ tglx: Massage changelog by adding a proper explanation and removing the not really useful stacktrace ] Fixes: d5124a99 ("PCI/MSI: Provide a sane mechanism for TPH") Reported-by:Jorge Lopez <jorge.jo.lopez@oracle.com> Suggested-by:
Thomas Gleixner <tglx@linutronix.de> Signed-off-by:
Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by:
Thomas Gleixner <tglx@linutronix.de> Tested-by:
Jorge Lopez <jorge.jo.lopez@oracle.com> Link: https://lore.kernel.org/all/20250708222530.1041477-1-himanshu.madhani@oracle.com
Loading
Please sign in to comment