Prakesh could you try this patch instead? I think the problem is simply that the MCP55 ht mapping capability requires an address to be programed into it and it wasn't in your case. It should not hurt to enable one msi ht mapping capability too many. diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index baad093..f7a0370 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -2017,10 +2017,19 @@ static void __devinit ht_enable_msi_mapping(struct pci_dev *dev) while (pos && ttl--) { u8 flags; - if (pci_read_config_byte(dev, pos + HT_MSI_FLAGS, - &flags) == 0) { + if (pci_read_config_byte(dev, pos + HT_MSI_FLAGS, &flags)) + return; + + if (!(flags & HT_MSI_FLAGS_ENABLE)) { dev_info(&dev->dev, "Enabling HT MSI Mapping\n"); + if (!(flags & HT_MSI_FLAGS_FIXED)) { + pci_write_config_dword(dev, pos + HT_MSI_ADDR_LO, + (HT_MSI_FIXED_ADDR & HT_MSI_FIXED_ADDR)); + pci_write_config_dword(dev, pos + HT_MSI_ADDR_HI, + (HT_MSI_FIXED_ADDR >> 32)); + } + pci_write_config_byte(dev, pos + HT_MSI_FLAGS, flags | HT_MSI_FLAGS_ENABLE); } -- 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