aboutsummaryrefslogtreecommitdiff
path: root/drivers/ata/libata-pmp.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-05-30 15:39:05 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-05-30 15:39:05 -0700
commit61ac7bf538db2044d0238fcd87b3d9df59294bf2 (patch)
treeff7d0b03bc0a78d8b926cba3e4cad7315b074546 /drivers/ata/libata-pmp.c
parent14d03fd98e076c6e60e1085a962410dc4d70ab59 (diff)
parent3072c379bccfa2844e33103ed9ff530780e660ea (diff)
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ahci: change the Device IDs of nvidia MCP7B AHCI controller in ahci.c [libata] sata_fsl: Fix broken driver, add port multiplier (PMP) support libata: SRST can't be trusted on PMP sil3726 libata: fix libata-scsi kernel-doc notation ata: Convert to static DEFINE_SPINLOCK(lock) ata_piix: fix macbook ich8m problems sata_mv: implement SoC guideline SATA_S11 sata_mv: workaround for 60x1 errata sata13 sata_mv: nuke unreleased GenIIe revisions sata_mv: PHY_MODEx errata fixes sata_mv: move SOC_FLAG to hpriv
Diffstat (limited to 'drivers/ata/libata-pmp.c')
-rw-r--r--drivers/ata/libata-pmp.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/ata/libata-pmp.c b/drivers/ata/libata-pmp.c
index 0f9386d4a5a..7daf4c0f621 100644
--- a/drivers/ata/libata-pmp.c
+++ b/drivers/ata/libata-pmp.c
@@ -322,9 +322,12 @@ static void sata_pmp_quirks(struct ata_port *ap)
if (vendor == 0x1095 && devid == 0x3726) {
/* sil3726 quirks */
ata_port_for_each_link(link, ap) {
- /* class code report is unreliable */
+ /* Class code report is unreliable and SRST
+ * times out under certain configurations.
+ */
if (link->pmp < 5)
- link->flags |= ATA_LFLAG_ASSUME_ATA;
+ link->flags |= ATA_LFLAG_NO_SRST |
+ ATA_LFLAG_ASSUME_ATA;
/* port 5 is for SEMB device and it doesn't like SRST */
if (link->pmp == 5)