--- linux-2.4.28-pre2/drivers/scsi/libata-core.c 2004-09-02 02:32:56.000000000 -0400 +++ linux-2.4.28-pre2-ich6r/drivers/scsi/libata-core.c 2004-09-01 23:19:04.000000000 -0400 @@ -3281,6 +3281,9 @@ int ata_pci_init_one (struct pci_dev *pd legacy_mode = (1 << 3); } + if ((pdev->class >> 8) == PCI_CLASS_STORAGE_RAID) + legacy_mode = 0; + /* FIXME... */ if ((!legacy_mode) && (n_ports > 1)) { printk(KERN_ERR "ata: BUG: native mode, n_ports > 1\n");