]> git.baikalelectronics.ru Git - kernel.git/commit
libata: ahci_start_engine compliant to AHCI spec
authorJian Peng <jipeng2005@gmail.com>
Sat, 23 Apr 2011 06:58:10 +0000 (23:58 -0700)
committerJeff Garzik <jgarzik@pobox.com>
Sun, 24 Apr 2011 15:35:40 +0000 (11:35 -0400)
commit6597361bc48ff48223f861123b44e32517dbdca9
tree187f95b21867318d77b768e1e8be27b0894c239b
parent9272c4a0ca41019bba735dcff7373f2ec0af6e7a
libata: ahci_start_engine compliant to AHCI spec

At the end of section 10.1 of AHCI spec (rev 1.3), it states

Software shall not set PxCMD.ST to 1 until it is determined that
a functoinal device is present on the port as determined by
PxTFD.STS.BSY=0, PxTFD.STS.DRQ=0 and PxSSTS.DET=3h

Even though most AHCI host controller works without this check,
specific controller will fail under this condition.

Signed-off-by: Jian Peng <jipeng2005@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
drivers/ata/libahci.c