[libata] Prevent interface errors with Seagate FreeAgent GoFlex
authorDaniel J Blueman <daniel@quora.org>
Mon, 23 Jul 2012 04:22:37 +0000 (12:22 +0800)
committerJeff Garzik <jgarzik@redhat.com>
Wed, 25 Jul 2012 18:34:42 +0000 (14:34 -0400)
When using my Seagate FreeAgent GoFlex eSATAp external disk enclosure,
interface errors are always seen until 1.5Gbps is negotiated [1]. This
occurs using any disk in the enclosure, and when the disk is connected
directly with a generic passive eSATAp cable, we see stable 3Gbps
operation as expected.

Blacklist 3Gbps mode to avoid dataloss and the ~30s delay bus reset
and renegotiation incurs.

Signed-off-by: Daniel J Blueman <daniel@quora.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/libata-core.c

index c14f88c1f1da910b3227dfa2e4658d99d68fe588..95a656f33a23fa705a9de3ced3b4d71c54c90a67 100644 (file)
@@ -4129,6 +4129,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
 
        /* Devices which aren't very happy with higher link speeds */
        { "WD My Book",                 NULL,   ATA_HORKAGE_1_5_GBPS, },
+       { "Seagate FreeAgent GoFlex",   NULL,   ATA_HORKAGE_1_5_GBPS, },
 
        /*
         * Devices which choke on SETXFER.  Applies only if both the