diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2008-12-01 12:16:23 +1100 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2008-12-01 12:16:23 +1100 |
commit | 540f74a50df0de3e2ab996f3d5d06cb7a54feb94 (patch) | |
tree | c0b17c2c8079bf1c08bc01f54f52c5afebae645c /drivers/ide/amd74xx.c | |
parent | 1198fa51e0242ba2686407e68f19455c9b20b72f (diff) | |
parent | 06b72de3e376dc2cc2c0735f27f0b791228d822e (diff) |
Merge branch 'quilt/ide'
Diffstat (limited to 'drivers/ide/amd74xx.c')
-rw-r--r-- | drivers/ide/amd74xx.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/ide/amd74xx.c b/drivers/ide/amd74xx.c index 81ec73134eda..c6bcd3014a29 100644 --- a/drivers/ide/amd74xx.c +++ b/drivers/ide/amd74xx.c @@ -3,7 +3,7 @@ * IDE driver for Linux. * * Copyright (c) 2000-2002 Vojtech Pavlik - * Copyright (c) 2007 Bartlomiej Zolnierkiewicz + * Copyright (c) 2007-2008 Bartlomiej Zolnierkiewicz * * Based on the work of: * Andre Hedrick @@ -263,6 +263,15 @@ static int __devinit amd74xx_probe(struct pci_dev *dev, const struct pci_device_ d.udma_mask = ATA_UDMA5; } + /* + * It seems that on some nVidia controllers using AltStatus + * register can be unreliable so default to Status register + * if the device is in Compatibility Mode. + */ + if (dev->vendor == PCI_VENDOR_ID_NVIDIA && + ide_pci_is_in_compatibility_mode(dev)) + d.host_flags |= IDE_HFLAG_BROKEN_ALTSTATUS; + printk(KERN_INFO "%s %s: UDMA%s controller\n", d.name, pci_name(dev), amd_dma[fls(d.udma_mask) - 1]); |