On Thu, Jan 26, 2012 at 8:47 AM, MUNEDA Takahiro <muneda.takahiro@xxxxxxxxxxxxxx> wrote: > On Thu, 19 Jan 2012 15:41:09 -0800, > Yinghai Lu <yinghai@xxxxxxxxxx> wrote: > > snip > >>> Index: linux-3.2/drivers/pci/quirks.c >>> =================================================================== >>> --- linux-3.2.orig/drivers/pci/quirks.c >>> +++ linux-3.2/drivers/pci/quirks.c >>> @@ -2665,6 +2665,35 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AT >>> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4375, >>> quirk_msi_intx_disable_bug); >>> >>> +/* >>> + * The PCI bridge from Integrated Device Technology(IDT) has a problem >>> + * with MSI/MSI-X. >>> + * An un-wanted interrupt is generated when PCI driver switches from >>> + * MSI/MSI-X to INTx while shutting down the PCI Express port, if it >>> + * provides the Native Hotplug service. The interrupt does not happen >>> + * if MSI/MSI-X is not used on it. Therefore, turn off MSI/MSI-X for >>> + * this device. >>> + */ >>> +static void __devinit idt_bridge_msi_disable(struct pci_dev *dev) >>> +{ >>> + int pos; >>> + u16 reg16; >>> + u32 reg32; >>> + >>> + pos = pci_pcie_cap(dev); >>> + if (!pos) >>> + return; >>> + pci_read_config_word(dev, pos + PCI_EXP_FLAGS,®16); >>> + if (!(reg16& PCI_EXP_FLAGS_SLOT)) >>> >>> + return; >>> + pci_read_config_dword(dev, pos + PCI_EXP_SLTCAP,®32); >>> + if (reg32& PCI_EXP_SLTCAP_HPC) { >>> >>> + pci_msi_off(dev); >>> + dev->no_msi = 1; >>> + } >>> +} >>> +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_IDT, 0x807f, >>> idt_bridge_msi_disable); >> >> >> do you have statement for IDT, says that is chipset problem ? > > > I'm trying to contact to them, but not yet. > > >> it could be your platform fw problem. >> >> if that is the case, you will disable MSI/MSIX for other platform that >> do not have fw problem. > > > Yinghai, > Btw, how about other pieces? I'm thinking to drop the quirk code temporary, > until I get the comment from them. > Can you give an ACK if I remove the hardware specific quirk code? yes, other part is ok. Actually quirk code should be separated to another patch. Thanks Yinghai -- 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