Alan wrote:
--- linux.vanilla-2.6.20-rc6-mm3/drivers/ata/pata_amd.c 2007-01-31 14:20:10.000000000 +0000
+++ linux-2.6.20-rc6-mm3/drivers/ata/pata_amd.c 2007-02-06 17:04:19.000000000 +0000
@@ -642,6 +642,11 @@
if (type == 1 && rev > 0x7)
type = 2;
+#if defined(CONFIG_ATA_ACPI)
+ /* Prefer the ACPI driver for Nvidia hardware */
+ if (pdev->vendor == PCI_VENDOR_ID_NVIDIA && ata_pata_acpi_present(pdev))
+ return -ENODEV;
+#endif
/* Check for AMD7411 */
if (type == 3)
/* FIFO is broken */
Problem with this approach is it may break distro/initrd setups since
the pata_amd driver appears to be the one that "should" work based on
the PCI ID, so the initrd would end up containing only this driver,
which will fail out with -ENODEV and cause a boot failure. If the root
filesystem was on a disk driven by this controller, the mkinitrd stuff
would have to "know" that it should also try loading pata_acpi.
Unless there are some Nvidia boxes out there which don't provide
_GTM/_STM ACPI methods (which seems a bit unlikely given Allen Martin's
comments) then we could potentially move the Nvidia PATA PCI IDs into
the pata_acpi driver, at least if ACPI is enabled in the kernel build..
--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from [email protected]
Home Page: http://www.roberthancock.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]