aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/pci/xen.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/pci/xen.c')
-rw-r--r--arch/x86/pci/xen.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
index 93e42152d8d0..15fd981d35f1 100644
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -185,23 +185,15 @@ static void xen_teardown_msi_irq(unsigned int irq)
185#ifdef CONFIG_XEN_DOM0 185#ifdef CONFIG_XEN_DOM0
186static int xen_initdom_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) 186static int xen_initdom_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
187{ 187{
188 int irq, ret; 188 int irq;
189 struct msi_desc *msidesc; 189 struct msi_desc *msidesc;
190 190
191 list_for_each_entry(msidesc, &dev->msi_list, list) { 191 list_for_each_entry(msidesc, &dev->msi_list, list) {
192 irq = xen_create_msi_irq(dev, msidesc, type); 192 irq = xen_create_msi_irq(dev, msidesc, type);
193 if (irq < 0) 193 if (irq < 0)
194 return -1; 194 return -1;
195
196 ret = set_irq_msi(irq, msidesc);
197 if (ret)
198 goto error;
199 } 195 }
200 return 0; 196 return 0;
201
202error:
203 xen_destroy_irq(irq);
204 return ret;
205} 197}
206#endif 198#endif
207#endif 199#endif