summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorPavel Herrmann <morpheus.ibis@gmail.com>2011-04-29 00:32:54 +0400
committerJeff Garzik <jgarzik@pobox.com>2011-05-20 04:48:59 +0400
commit0afc6f5ba95419fd505e60637f7645425f16e407 (patch)
tree3c14a2e304cbd2e6b1ae2b9085cd70034499ea2d /drivers
parentbfeec8ca15c9c06c1978a25248e2bd11c4a26d72 (diff)
downloadlinux-0afc6f5ba95419fd505e60637f7645425f16e407.tar.xz
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@gmail.com> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ata/libata-pmp.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/ata/libata-pmp.c b/drivers/ata/libata-pmp.c
index 3120596d4afc..f06b7ea590d3 100644
--- a/drivers/ata/libata-pmp.c
+++ b/drivers/ata/libata-pmp.c
@@ -449,6 +449,16 @@ 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 == 0x197b && devid == 0x2352) {
+ /* chip found in Thermaltake BlackX Duet, jmicron JMB350? */
+ ata_for_each_link(link, ap, EDGE) {
+ /* SRST breaks detection and disks get misclassified
+ * LPM disabled to avoid potential problems
+ */
+ link->flags |= ATA_LFLAG_NO_LPM |
+ ATA_LFLAG_NO_SRST |
+ ATA_LFLAG_ASSUME_ATA;
+ }
}
}