I checked ECS P4M900T(VT8237A) mainboard, This mainboad has SATA controller vt8237a, and my SATA HDD was not found. I checked sata_via.c and result of lspci, and seems it doesn't have pci_device_id. I add pci_device_id 0x5337 to sata_via.c. it works very fine. and I also checked ASUS P5V800MX REV1.04G (vt8521) PATA CDROM was not found on this mainboard. I tried same way, add pci_device_id, works well too. attempt patch to kernel 2.6.19 . if you have same problem, try to this patch. Yasuhiro Harada
--- linux-2.6.19/drivers/ata/pata_via.c.old 2006-11-30 06:57:37.000000000 +0900 +++ linux-2.6.19/drivers/ata/pata_via.c 2006-12-28 17:59:10.000000000 +0900 @@ -94,6 +94,7 @@ u8 rev_max; u16 flags; } via_isa_bridges[] = { + { "vt8251", PCI_DEVICE_ID_VIA_8251, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, { "cx700", PCI_DEVICE_ID_VIA_CX700, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, { "vt6410", PCI_DEVICE_ID_VIA_6410, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST | VIA_NO_ENABLES}, { "vt8237a", PCI_DEVICE_ID_VIA_8237A, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST },
--- linux-2.6.19/drivers/ata/sata_via.c.old 2006-12-28 17:49:55.000000000 +0900 +++ linux-2.6.19/drivers/ata/sata_via.c 2006-12-28 17:51:38.000000000 +0900 @@ -77,6 +77,7 @@ static void vt6420_error_handler(struct ata_port *ap); static const struct pci_device_id svia_pci_tbl[] = { + { PCI_VDEVICE(VIA, 0x5337), vt6420 }, { PCI_VDEVICE(VIA, 0x0591), vt6420 }, { PCI_VDEVICE(VIA, 0x3149), vt6420 }, { PCI_VDEVICE(VIA, 0x3249), vt6421 },