]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/pci/host/pcie-xilinx.c
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[karo-tx-linux.git] / drivers / pci / host / pcie-xilinx.c
index 1aeaa914bd3034e0b42823b6ba593ad047b917fc..3c7a0d580b1ed990d9978efc5927c3a8d2abc8af 100644 (file)
@@ -227,18 +227,16 @@ static struct pci_ops xilinx_pcie_ops = {
  */
 static void xilinx_pcie_destroy_msi(unsigned int irq)
 {
-       struct irq_desc *desc;
        struct msi_desc *msi;
        struct xilinx_pcie_port *port;
 
-       desc = irq_to_desc(irq);
-       msi = irq_desc_get_msi_desc(desc);
-       port = sys_to_pcie(msi->dev->bus->sysdata);
-
-       if (!test_bit(irq, msi_irq_in_use))
+       if (!test_bit(irq, msi_irq_in_use)) {
+               msi = irq_get_msi_desc(irq);
+               port = sys_to_pcie(msi_desc_to_pci_sysdata(msi));
                dev_err(port->dev, "Trying to free unused MSI#%d\n", irq);
-       else
+       } else {
                clear_bit(irq, msi_irq_in_use);
+       }
 }
 
 /**