Loading arch/x86/pci/xen.c +1 −9 Original line number Diff line number Diff line Loading @@ -185,23 +185,15 @@ static void xen_teardown_msi_irq(unsigned int irq) #ifdef CONFIG_XEN_DOM0 static int xen_initdom_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) { int irq, ret; int irq; struct msi_desc *msidesc; list_for_each_entry(msidesc, &dev->msi_list, list) { irq = xen_create_msi_irq(dev, msidesc, type); if (irq < 0) return -1; ret = set_irq_msi(irq, msidesc); if (ret) goto error; } return 0; error: xen_destroy_irq(irq); return ret; } #endif #endif Loading drivers/xen/events.c +9 −1 Original line number Diff line number Diff line Loading @@ -691,7 +691,7 @@ int xen_bind_pirq_msi_to_irq(struct pci_dev *dev, struct msi_desc *msidesc, int xen_create_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc, int type) { int irq = -1; int ret, irq = -1; struct physdev_map_pirq map_irq; int rc; int pos; Loading Loading @@ -736,9 +736,17 @@ int xen_create_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc, int type) handle_level_irq, (type == PCI_CAP_ID_MSIX) ? "msi-x":"msi"); ret = set_irq_msi(irq, msidesc); if (ret) goto out_irq; out: spin_unlock(&irq_mapping_update_lock); return irq; out_irq: spin_unlock(&irq_mapping_update_lock); xen_free_irq(irq); return -1; } #endif Loading Loading
arch/x86/pci/xen.c +1 −9 Original line number Diff line number Diff line Loading @@ -185,23 +185,15 @@ static void xen_teardown_msi_irq(unsigned int irq) #ifdef CONFIG_XEN_DOM0 static int xen_initdom_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) { int irq, ret; int irq; struct msi_desc *msidesc; list_for_each_entry(msidesc, &dev->msi_list, list) { irq = xen_create_msi_irq(dev, msidesc, type); if (irq < 0) return -1; ret = set_irq_msi(irq, msidesc); if (ret) goto error; } return 0; error: xen_destroy_irq(irq); return ret; } #endif #endif Loading
drivers/xen/events.c +9 −1 Original line number Diff line number Diff line Loading @@ -691,7 +691,7 @@ int xen_bind_pirq_msi_to_irq(struct pci_dev *dev, struct msi_desc *msidesc, int xen_create_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc, int type) { int irq = -1; int ret, irq = -1; struct physdev_map_pirq map_irq; int rc; int pos; Loading Loading @@ -736,9 +736,17 @@ int xen_create_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc, int type) handle_level_irq, (type == PCI_CAP_ID_MSIX) ? "msi-x":"msi"); ret = set_irq_msi(irq, msidesc); if (ret) goto out_irq; out: spin_unlock(&irq_mapping_update_lock); return irq; out_irq: spin_unlock(&irq_mapping_update_lock); xen_free_irq(irq); return -1; } #endif Loading