--- Jeff Garzik <[EMAIL PROTECTED]> wrote: > Martins Krikis wrote: > > Without this patch, if the BIOS of an ICH6R box has IDE set to > "RAID" > > mode then ata_piix will not find any SATA disks because it > incorrectly > > tries the legacy mode. With the patch all 4 SATA drives become > visible. > > I don't think it would break any other vendor's SATA, but you can > be > > the judge of that. If so, perhaps we can restrict the test some > more > > by checking vendor/device IDs. > > > --- linux-2.4.29/drivers/scsi/libata-core.c 2005-01-28 > 12:07:56.000000000 -0500 > > +++ linux-2.4.29-iswraid/drivers/scsi/libata-core.c 2005-01-28 > 12:14:43.000000000 -0500 > > @@ -3605,6 +3605,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"); > > > hmmmmmm. Maybe "!= PCI_CLASS_STORAGE_IDE" instead?
Yes, that's much better. No need to even read the programming IF byte unless the class code identifies it as an IDE controller. > Overall, however, I am worried about your report of the driver's > behavior based on that BIOS's configuration. The driver follows the > PCI > IDE standard (previously SFF 8038i), where a register indicates > whether > its in legacy or native mode. As it see it, either > a) the driver logic for reading that register is wrong, or > b) BIOS incorrectly configuring the device, or > c) that register is only applicable for PCI_CLASS_STORAGE_IDE > devices. > > Comments either way? I'd say "c". I don't have the spec, but my PCI course-book seems to imply so. I could send a new patch but I can't verify it just yet---the board decided to stop booting... Martins __________________________________ Do you Yahoo!? Yahoo! Mail - Easier than ever with enhanced search. Learn more. http://info.mail.yahoo.com/mail_250 - 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/