diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/pci/xen.c | 10 |
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 |
186 | static int xen_initdom_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) | 186 | static 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 | |||
202 | error: | ||
203 | xen_destroy_irq(irq); | ||
204 | return ret; | ||
205 | } | 197 | } |
206 | #endif | 198 | #endif |
207 | #endif | 199 | #endif |