diff options
| -rw-r--r-- | drivers/pci/msi/msi.c | 4 | ||||
| -rw-r--r-- | include/linux/irqchip/irq-msi-lib.h | 1 | 
2 files changed, 4 insertions, 1 deletions
| diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c index 6ede55a7c5e6..d686488f4111 100644 --- a/drivers/pci/msi/msi.c +++ b/drivers/pci/msi/msi.c @@ -934,10 +934,12 @@ int pci_msix_write_tph_tag(struct pci_dev *pdev, unsigned int index, u16 tag)  	if (!pdev->msix_enabled)  		return -ENXIO; -	guard(msi_descs_lock)(&pdev->dev);  	virq = msi_get_virq(&pdev->dev, index);  	if (!virq)  		return -ENXIO; + +	guard(msi_descs_lock)(&pdev->dev); +  	/*  	 * This is a horrible hack, but short of implementing a PCI  	 * specific interrupt chip callback and a huge pile of diff --git a/include/linux/irqchip/irq-msi-lib.h b/include/linux/irqchip/irq-msi-lib.h index dd8d1d138544..224ac28e88d7 100644 --- a/include/linux/irqchip/irq-msi-lib.h +++ b/include/linux/irqchip/irq-msi-lib.h @@ -17,6 +17,7 @@  #define MATCH_PLATFORM_MSI	BIT(DOMAIN_BUS_PLATFORM_MSI) +struct msi_domain_info;  int msi_lib_irq_domain_select(struct irq_domain *d, struct irq_fwspec *fwspec,  			      enum irq_domain_bus_token bus_token); | 
