===== drivers/scsi/libata-core.c 1.5 vs edited ===== --- 1.5/drivers/scsi/libata-core.c Wed Oct 22 22:25:32 2003 +++ edited/drivers/scsi/libata-core.c Wed Oct 29 20:27:27 2003 @@ -1339,9 +1339,13 @@ outb(ap->ctl, ioaddr->ctl_addr); /* determine if device 0/1 are present */ - dev0 = ata_dev_devchk(ap, 0); - if (slave_possible) - dev1 = ata_dev_devchk(ap, 1); + if (ap->flags & ATA_FLAG_SATA_RESET) + dev0 = 1; + else { + dev0 = ata_dev_devchk(ap, 0); + if (slave_possible) + dev1 = ata_dev_devchk(ap, 1); + } if (dev0) devmask |= (1 << 0); ===== drivers/scsi/sata_via.c 1.2 vs edited ===== --- 1.2/drivers/scsi/sata_via.c Tue Oct 21 23:13:54 2003 +++ edited/drivers/scsi/sata_via.c Wed Oct 29 20:27:43 2003 @@ -108,7 +108,7 @@ { .sht = &svia_sht, .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY - | ATA_FLAG_SRST, + | ATA_FLAG_SATA_RESET, .pio_mask = 0x03, /* pio3-4 */ .udma_mask = 0x7f, /* udma0-6 ; FIXME */ .port_ops = &svia_sata_ops,