diff options
authorTejun Heo <>2007-01-26 15:37:20 +0900
committerJeff Garzik <>2007-01-26 17:24:07 -0500
commitdfd7a3db3898e299bdc25f0c77081a8632b3a73c (patch)
parentd02598721706ab62a574823479b1f6c26c8980d2 (diff)
ahci: use 0x80 as wait stat value instead of 0xff
Before hardreset, ahci initialized stat part of received FIS area to 0xff to wait for the first D2H Reg FIS which would change the value to device ready state. This used to work but now libata considers status value of 0xff as device not present making this wait prone to failure. This patch makes ahci use 0x80 for the wait stat value instead of 0xff to fix the above problem. Signed-off-by: Tejun Heo <> drivers/ata/ahci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Signed-off-by: Jeff Garzik <>
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index d8f0ce970d5..28a82e3403f 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -903,7 +903,7 @@ static int ahci_hardreset(struct ata_port *ap, unsigned int *class)
/* clear D2H reception area to properly wait for D2H FIS */
ata_tf_init(ap->device, &tf);
- tf.command = 0xff;
+ tf.command = 0x80;
ata_tf_to_fis(&tf, d2h_fis, 0);
rc = sata_std_hardreset(ap, class);