diff -ruN linux-2.6.21.1_org/drivers/pci/quirks.c linux-2.6.21.1_new/drivers/pci/quirks.c
--- linux-2.6.21.1_org/drivers/pci/quirks.c	2008-01-23 14:22:25.000000000 +0800
+++ linux-2.6.21.1_new/drivers/pci/quirks.c	2008-01-23 14:22:44.000000000 +0800
@@ -1743,12 +1743,13 @@
  * Instead of setting the flag on all busses in the machine, simply disable MSI
  * globally.
  */
-static void __init quirk_svw_msi(struct pci_dev *dev)
+static void __init quirk_disable_all_msi(struct pci_dev *dev)
 {
 	pci_no_msi();
 	printk(KERN_WARNING "PCI: MSI quirk detected. MSI deactivated.\n");
 }
-DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_GCNB_LE, quirk_svw_msi);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_GCNB_LE, quirk_disable_all_msi);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x7910, quirk_disable_all_msi);//RS690
 
 /* Disable MSI on chipsets that are known to not support it */
 static void __devinit quirk_disable_msi(struct pci_dev *dev)
