diff options
Diffstat (limited to 'drivers/pci/quirks.c')
| -rw-r--r-- | drivers/pci/quirks.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 12d489395fad..0fb365074288 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
| @@ -923,6 +923,19 @@ static void __init quirk_ide_samemode(struct pci_dev *pdev) | |||
| 923 | } | 923 | } |
| 924 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_10, quirk_ide_samemode); | 924 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_10, quirk_ide_samemode); |
| 925 | 925 | ||
| 926 | /* | ||
| 927 | * Some ATA devices break if put into D3 | ||
| 928 | */ | ||
| 929 | |||
| 930 | static void __devinit quirk_no_ata_d3(struct pci_dev *pdev) | ||
| 931 | { | ||
| 932 | /* Quirk the legacy ATA devices only. The AHCI ones are ok */ | ||
| 933 | if ((pdev->class >> 8) == PCI_CLASS_STORAGE_IDE) | ||
| 934 | pdev->dev_flags |= PCI_DEV_FLAGS_NO_D3; | ||
| 935 | } | ||
| 936 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, PCI_ANY_ID, quirk_no_ata_d3); | ||
| 937 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_ATI, PCI_ANY_ID, quirk_no_ata_d3); | ||
| 938 | |||
| 926 | /* This was originally an Alpha specific thing, but it really fits here. | 939 | /* This was originally an Alpha specific thing, but it really fits here. |
| 927 | * The i82375 PCI/EISA bridge appears as non-classified. Fix that. | 940 | * The i82375 PCI/EISA bridge appears as non-classified. Fix that. |
| 928 | */ | 941 | */ |
