aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/ata_piix.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-12 16:40:57 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-12 16:40:57 -0400
commit21ba0f88ae56da82a3a15fe54d729208b64c4f4b (patch)
tree17ce67f276fe3ea7284c3dc730bdd6a2ec7dfe2f /drivers/ata/ata_piix.c
parentdc690d8ef842b464f1c429a376ca16cb8dbee6ae (diff)
parent36e235901f90fb83215be43cbd8f1ca14661ea40 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (34 commits) PCI: Only build PCI syscalls on architectures that want them PCI: limit pci_get_bus_and_slot to domain 0 PCI: hotplug: acpiphp: avoid acpiphp "cannot get bridge info" PCI hotplug failure PCI: hotplug: acpiphp: remove hot plug parameter write to PCI host bridge PCI: hotplug: acpiphp: fix slot poweroff problem on systems without _PS3 PCI: hotplug: pciehp: wait for 1 second after power off slot PCI: pci_set_power_state(): check for PM capabilities earlier PCI: cpci_hotplug: Convert to use the kthread API PCI: add pci_try_set_mwi PCI: pcie: remove SPIN_LOCK_UNLOCKED PCI: ROUND_UP macro cleanup in drivers/pci PCI: remove pci_dac_dma_... APIs PCI: pci-x-pci-express-read-control-interfaces cleanups PCI: Fix typo in include/linux/pci.h PCI: pci_ids, remove double or more empty lines PCI: pci_ids, add atheros and 3com_2 vendors PCI: pci_ids, reorder some entries PCI: i386: traps, change VENDOR to DEVICE PCI: ATM: lanai, change VENDOR to DEVICE PCI: Change all drivers to use pci_device->revision ...
Diffstat (limited to 'drivers/ata/ata_piix.c')
-rw-r--r--drivers/ata/ata_piix.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c
index 21a7ca4936b..d9fa329fd15 100644
--- a/drivers/ata/ata_piix.c
+++ b/drivers/ata/ata_piix.c
@@ -928,20 +928,18 @@ static int __devinit piix_check_450nx_errata(struct pci_dev *ata_dev)
928{ 928{
929 struct pci_dev *pdev = NULL; 929 struct pci_dev *pdev = NULL;
930 u16 cfg; 930 u16 cfg;
931 u8 rev;
932 int no_piix_dma = 0; 931 int no_piix_dma = 0;
933 932
934 while((pdev = pci_get_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, pdev)) != NULL) 933 while((pdev = pci_get_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, pdev)) != NULL)
935 { 934 {
936 /* Look for 450NX PXB. Check for problem configurations 935 /* Look for 450NX PXB. Check for problem configurations
937 A PCI quirk checks bit 6 already */ 936 A PCI quirk checks bit 6 already */
938 pci_read_config_byte(pdev, PCI_REVISION_ID, &rev);
939 pci_read_config_word(pdev, 0x41, &cfg); 937 pci_read_config_word(pdev, 0x41, &cfg);
940 /* Only on the original revision: IDE DMA can hang */ 938 /* Only on the original revision: IDE DMA can hang */
941 if (rev == 0x00) 939 if (pdev->revision == 0x00)
942 no_piix_dma = 1; 940 no_piix_dma = 1;
943 /* On all revisions below 5 PXB bus lock must be disabled for IDE */ 941 /* On all revisions below 5 PXB bus lock must be disabled for IDE */
944 else if (cfg & (1<<14) && rev < 5) 942 else if (cfg & (1<<14) && pdev->revision < 5)
945 no_piix_dma = 2; 943 no_piix_dma = 2;
946 } 944 }
947 if (no_piix_dma) 945 if (no_piix_dma)