Hi, Current linux kernel failes to communicate with PMP chip used in Thermaltake BlackX Duet (ST0015E) external drive, adding same quirks (some of them may not be necessary) as other chips have fixes it (tested on AHCI driver, on JMB363 and ICH10R) Please note that this patch is purposefully not in state includable in mainline, it is meant as a base for someone with more understanding of libata to make a proper fix Thanks Pavel Herrmann
From f1c2e6ec61c978846d6d3dadacc7c1b2997140a6 Mon Sep 17 00:00:00 2001 From: Pavel Herrmann <morpheus.ibis@xxxxxxxxx> Date: Thu, 7 Apr 2011 18:15:26 +0200 Subject: [PATCH] libata-pmp: add support for Thermaltake BlackX Duet esata drive dock some errors still show up, but the dock works, both drives can be accessed at the same time the chip maker and designation is unknown - possibly jmicron JMB350? Signed-off-by: Pavel Herrmann <morpheus.ibis@xxxxxxxxx> --- drivers/ata/libata-pmp.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/drivers/ata/libata-pmp.c b/drivers/ata/libata-pmp.c index 3120596..9ceef00 100644 --- a/drivers/ata/libata-pmp.c +++ b/drivers/ata/libata-pmp.c @@ -449,6 +449,14 @@ static void sata_pmp_quirks(struct ata_port *ap) * otherwise. Don't try hard to recover it. */ ap->pmp_link[ap->nr_pmp_links - 1].flags |= ATA_LFLAG_NO_RETRY; + } + } else if (vendor == 0x1095 && devid == 0x4726) { + /* chip found in Thermaltake BlackX Duet */ + ata_for_each_link(link, ap, EDGE) { + /* Use same quirks as sil chips to make it work */ + link->flags |= ATA_LFLAG_NO_LPM | + ATA_LFLAG_NO_SRST | + ATA_LFLAG_ASSUME_ATA; } } -- 1.7.4.1