diff options
Diffstat (limited to 'arch/i386/kernel/io_apic.c')
-rw-r--r-- | arch/i386/kernel/io_apic.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/i386/kernel/io_apic.c b/arch/i386/kernel/io_apic.c index b3ab8ffebd27..89d85d244926 100644 --- a/arch/i386/kernel/io_apic.c +++ b/arch/i386/kernel/io_apic.c | |||
@@ -2611,19 +2611,19 @@ int arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *desc) | |||
2611 | if (irq < 0) | 2611 | if (irq < 0) |
2612 | return irq; | 2612 | return irq; |
2613 | 2613 | ||
2614 | set_irq_msi(irq, desc); | ||
2615 | ret = msi_compose_msg(dev, irq, &msg); | 2614 | ret = msi_compose_msg(dev, irq, &msg); |
2616 | if (ret < 0) { | 2615 | if (ret < 0) { |
2617 | destroy_irq(irq); | 2616 | destroy_irq(irq); |
2618 | return ret; | 2617 | return ret; |
2619 | } | 2618 | } |
2620 | 2619 | ||
2620 | set_irq_msi(irq, desc); | ||
2621 | write_msi_msg(irq, &msg); | 2621 | write_msi_msg(irq, &msg); |
2622 | 2622 | ||
2623 | set_irq_chip_and_handler_name(irq, &msi_chip, handle_edge_irq, | 2623 | set_irq_chip_and_handler_name(irq, &msi_chip, handle_edge_irq, |
2624 | "edge"); | 2624 | "edge"); |
2625 | 2625 | ||
2626 | return irq; | 2626 | return 0; |
2627 | } | 2627 | } |
2628 | 2628 | ||
2629 | void arch_teardown_msi_irq(unsigned int irq) | 2629 | void arch_teardown_msi_irq(unsigned int irq) |