2940
2940
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0102, disable_igfx_irq);
2941
2941
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
2944
* The Intel 6 Series/C200 Series chipset's EHCI controllers on many
2945
* ASUS motherboards will cause memory corruption or a system crash
2946
* if they are in D3 while the system is put into S3 sleep.
2948
static void __devinit asus_ehci_no_d3(struct pci_dev *dev)
2950
const char *sys_info;
2951
static const char good_Asus_board[] = "P8Z68-V";
2953
if (dev->dev_flags & PCI_DEV_FLAGS_NO_D3_DURING_SLEEP)
2955
if (dev->subsystem_vendor != PCI_VENDOR_ID_ASUSTEK)
2957
sys_info = dmi_get_system_info(DMI_BOARD_NAME);
2958
if (sys_info && memcmp(sys_info, good_Asus_board,
2959
sizeof(good_Asus_board) - 1) == 0)
2962
dev_info(&dev->dev, "broken D3 during system sleep on ASUS\n");
2963
dev->dev_flags |= PCI_DEV_FLAGS_NO_D3_DURING_SLEEP;
2964
device_set_wakeup_capable(&dev->dev, false);
2966
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x1c26, asus_ehci_no_d3);
2967
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x1c2d, asus_ehci_no_d3);
2943
2969
static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f,
2944
2970
struct pci_fixup *end)