This seems to have been caused by the combination of these commits:
commit 495c66aca3da704e063fa373fdbe371e71d3f4ee
Author: Thomas Gleixner <tglx>
Date: Mon Dec 6 23:51:45 2021 +0100
genirq/msi: Convert to new functions
commit 82ff8e6b78fc4587a4255301f0a283506daf11b6
Author: Thomas Gleixner <tglx>
Date: Fri Dec 10 23:19:25 2021 +0100
PCI/MSI: Use msi_get_virq() in pci_get_vector()
...which make pci_irq_vector() call msi_get_virq() and msi_get_virq() call msi_lock_descs(), which calls mutex_lock(), which is not allowed in this context. CC'ing Thomas, who will hopefully know how to fix it.