|
@@ -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)
|