Commit dfd7a3db authored by Tejun Heo's avatar Tejun Heo Committed by Jeff Garzik

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: default avatarTejun Heo <htejun@gmail.com>

 drivers/ata/ahci.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent d0259872
...@@ -903,7 +903,7 @@ static int ahci_hardreset(struct ata_port *ap, unsigned int *class) ...@@ -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 */ /* clear D2H reception area to properly wait for D2H FIS */
ata_tf_init(ap->device, &tf); ata_tf_init(ap->device, &tf);
tf.command = 0xff; tf.command = 0x80;
ata_tf_to_fis(&tf, d2h_fis, 0); ata_tf_to_fis(&tf, d2h_fis, 0);
rc = sata_std_hardreset(ap, class); rc = sata_std_hardreset(ap, class);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment