[PATCH] libata: PHY reset requires writing 0x4 to SControl
authorMartin Hicks <mort@bork.org>
Wed, 5 Jul 2006 19:06:13 +0000 (15:06 -0400)
committerJeff Garzik <jeff@garzik.org>
Thu, 10 Aug 2006 12:29:12 +0000 (08:29 -0400)
Hi,

Reading the Intel VSC and AHCI it seems like writing 0x302 is incorrect.
The only valid values are 4, 1 and 0.  Writing 4 disables the
PHY.

Signed-off-by: Martin Hicks <mort@bork.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/scsi/libata-core.c

index 16fc2dd..73dd6c8 100644 (file)
@@ -2746,7 +2746,7 @@ int sata_std_hardreset(struct ata_port *ap, unsigned int *class)
                if ((rc = sata_scr_read(ap, SCR_CONTROL, &scontrol)))
                        return rc;
 
-               scontrol = (scontrol & 0x0f0) | 0x302;
+               scontrol = (scontrol & 0x0f0) | 0x304;
 
                if ((rc = sata_scr_write(ap, SCR_CONTROL, scontrol)))
                        return rc;