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)
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>

No differences found