--- /usr/src/linux-2.6.9/drivers/pci/pci-driver.c	2004-10-18 23:54:39.000000000 +0200
+++ /usr/src/linux-2.6.9-test/drivers/pci/pci-driver.c	2004-11-26 11:10:43.000000000 +0100
@@ -330,9 +330,16 @@
 {
 	/* restore the PCI config space */
 	pci_restore_state(pci_dev, pci_dev->saved_config_space);
-	/* if the device was enabled before suspend, reenable */
-	if (pci_dev->is_enabled)
+	
+	/* Some video cards don't like the is_enabled call */
+	if ((pci_dev->class >> 16) != PCI_BASE_CLASS_DISPLAY) {
+		/* if the device was enabled before suspend, reenable */
+		if (pci_dev->is_enabled)
+			pci_enable_device(pci_dev);
+	} else {
 		pci_enable_device(pci_dev);
+	}
+			
 	/* if the device was busmaster before the suspend, make it busmaster again */
 	if (pci_dev->is_busmaster)
 		pci_set_master(pci_dev);
