On Fri, Jan 06, 2012 at 12:04:22PM -0500, MUNEDA Takahiro wrote: > --- linux-3.2.orig/drivers/pci/pcie/portdrv_core.c > +++ linux-3.2/drivers/pci/pcie/portdrv_core.c > @@ -189,8 +189,20 @@ static int init_service_irqs(struct pci_ > { > int i, irq = -1; > > - /* We have to use INTx if MSI cannot be used for PCIe PME. */ > - if ((mask & PCIE_PORT_SERVICE_PME) && pcie_pme_no_msi()) { > + /* We have to use INTx if MSI cannot be used for PCIe PME or pciehp. */ > + if (((mask & PCIE_PORT_SERVICE_PME) && pcie_pme_no_msi()) || > + ((mask & PCIE_PORT_SERVICE_HP) && pciehp_no_msi())) { > + if (dev->pin) > + irq = dev->irq; > + goto no_msi; > + } > + > + /* > + * Disable MSI/MSI-X to prevent un-wanted interrupts while > + * device shutting down > + */ > + if ((mask & PCIE_PORT_SERVICE_HP) && > + dev->vendor == PCI_VENDOR_ID_IDT && dev->device == 0x807f) { > if (dev->pin) > irq = dev->irq; > goto no_msi; Why not combine the if statements, you are doing the same thing in them, right? greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html