Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6
[firefly-linux-kernel-4.4.55.git] / arch / x86_64 / kernel / io_apic.c
index dd14ffa565b18522b7a2a37420f6ecf51f1507ed..2a2df14dab7eabaa9436e54da23643ffb7c9c4ad 100644 (file)
@@ -1954,18 +1954,18 @@ int arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *desc)
        if (irq < 0)
                return irq;
 
-       set_irq_msi(irq, desc);
        ret = msi_compose_msg(dev, irq, &msg);
        if (ret < 0) {
                destroy_irq(irq);
                return ret;
        }
 
+       set_irq_msi(irq, desc);
        write_msi_msg(irq, &msg);
 
        set_irq_chip_and_handler_name(irq, &msi_chip, handle_edge_irq, "edge");
 
-       return irq;
+       return 0;
 }
 
 void arch_teardown_msi_irq(unsigned int irq)