Patch to make VIA sata board bootable again.

Johnny Strom
2006-09-01T08:15:21Z

Hello

The quirks.c update that went into 2.6.16.17 made an VIA machine here
non bootable from an sata drive (via_sata), the error is:

"ATA1 qc timout"
"Failed to set xfermode".

And later kernel panic becouse no sata disk was found.
I tracked it down to the quirk update in 2.6.16.17. Below is a patch
against 2.6.17.11 that reverses the uppdate and makse the system
bootable again.

Another option is to find out the PCI_DEVICE_ID_VIA for the motherboard
in question but I could not get that info. Dose someone have an idea how
to find that info? then I can provide an patch that adds the right
PCI_DEVICE_ID_VIA for my motherboard.

diff -ur linux-2.6.17.11-org/drivers/pci/quirks.c
linux-2.6.17.11/drivers/pci/quirks.c
--- linux-2.6.17.11-org/drivers/pci/quirks.c 2006-09-01
10:38:31.135747500 +0300
+++ linux-2.6.17.11/drivers/pci/quirks.c 2006-09-01 10:42:28.870605000 +0300
@@ -652,13 +652,7 @@
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
}
}
-DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0,
quirk_via_irq);
-DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1,
quirk_via_irq);
-DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2,
quirk_via_irq);
-DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3,
quirk_via_irq);
-DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686,
quirk_via_irq);
-DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4,
quirk_via_irq);
-DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5,
quirk_via_irq);
+DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq);

/*
* VIA VT82C598 has its device ID settable and many BIOSes

Signed-off-by: johnny.strom@osp.fi