Signed-off-by: Andrew Morton --- drivers/scsi/ata_piix.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff -puN drivers/scsi/ata_piix.c~2.6.17-rc4-mm1-ich8-fix drivers/scsi/ata_piix.c --- a/drivers/scsi/ata_piix.c~2.6.17-rc4-mm1-ich8-fix +++ a/drivers/scsi/ata_piix.c @@ -651,6 +651,14 @@ static int piix_sata_prereset(struct ata port = map[base + i]; if (port < 0) continue; + if (ap->flags & PIIX_FLAG_AHCI) { + /* FIXME: Port status of AHCI controllers + * should be accessed in AHCI memory space. */ + if (pcs & 1 << port) + present_mask |= 1 << i; + else + pcs &= ~(1 << port); + } if (ap->flags & PIIX_FLAG_IGNORE_PCS || pcs & 1 << (4 + port)) present_mask |= 1 << i; else _