Matías Alejandro Torres wrote:
>
>> Well, making it work without pci=nomsi is the whole point here. I dunno
>> why this simple thing doesn't work. Can you post the result of 'lspci
>> -nn' so that we can see the numeric ID?
>>
> I would really like to know the answer to that, but i'm hundred of miles
> away. Attached to this email is the output of lspci -nn .
>
> Maybe you have the wrong id of the pci bridge:
>
> 00:02.0 PCI bridge [0604]: ATI Technologies Inc RS480 PCI-X Root Port
> [1002:5a34]
>
> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x5a3f, quirk_disable_msi);
> /* RS480 PCI bridge */
Yeah, apparently.
00:02.0 PCI bridge [0604]: ATI Technologies Inc RS480 PCI-X Root Port
[1002:5a34]
So, there are two broken PCI bridges. Argh.... Okay, please try the
attached patch. It includes both 5a34 and 5a3f.
Thanks for your patience.
--
tejun
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 3411483..b0e89db 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -1648,6 +1648,8 @@ static void __devinit quirk_disable_msi(
}
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8131_BRIDGE,
quirk_disable_msi);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x5a34, quirk_disable_msi); /*
RS480 PCI-X root port */
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x5a3f, quirk_disable_msi); /*
RS480 PCI bridge */
/* Go through the list of Hypertransport capabilities and
* return 1 if a HT MSI capability is found and enabled */