On Monday 12 January 2015 08:16:02 Tejun Heo wrote: > Hello, > > What you're experiencing looks like the ssd behaving badly after link > state transition. I wonder whether the right solution is plugging > PHYRDY IRQ for a while after LPM state change. Does the following > path make any difference? > > Thanks. > > diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c > index 97683e4..684f45d 100644 > --- a/drivers/ata/libahci.c > +++ b/drivers/ata/libahci.c > @@ -735,8 +735,8 @@ static int ahci_set_lpm(struct ata_link *link, enum > ata_lpm_policy policy, > sata_link_scr_lpm(link, policy, false); > > /* turn PHYRDY IRQ back on */ > - pp->intr_mask |= PORT_IRQ_PHYRDY; > - writel(pp->intr_mask, port_mmio + PORT_IRQ_MASK); > + //pp->intr_mask |= PORT_IRQ_PHYRDY; > + //writel(pp->intr_mask, port_mmio + PORT_IRQ_MASK); > } > > return 0;
Hi, I tried it and got the same result: [ 451.077463] ahci 0000:00:1f.2: port does not support device sleep [ 452.162451] ata3.00: exception Emask 0x10 SAct 0x400 SErr 0x50000 action 0xe frozen [ 452.162461] ata3.00: irq_stat 0x00400008, PHY RDY changed [ 452.162467] ata3: SError: { PHYRdyChg CommWake } [ 452.162473] ata3.00: failed command: WRITE FPDMA QUEUED [ 452.162484] ata3.00: cmd 61/58:50:98:7c:4b/00:00:17:00:00/40 tag 10 ncq 45056 out res 40/00:54:98:7c:4b/00:00:17:00:00/40 Emask 0x10 (ATA bus error) [ 452.162489] ata3.00: status: { DRDY } [ 452.162497] ata3: hard resetting link [ 452.886958] ata3: SATA link up 6.0 Gbps (SStatus 133 SControl 300) [ 452.890384] ata3.00: configured for UDMA/133 [ 452.902976] ahci 0000:00:1f.2: port does not support device sleep [ 452.903002] ata3: EH complete Gabriele -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/