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:
|
||
|---|---|---|
| .. | ||
| Makefile | ||
| api.c | ||
| irqdomain.c | ||
| legacy.c | ||
| msi.c | ||
| msi.h | ||
| pcidev_msi.c | ||