On Mon, Apr 23, 2018 at 09:39:27AM +0200, Hans de Goede wrote: > I guess so I'm somewhat surprised about this because Samsung SSDs tend to be well > behaved, but this is a msata version, which may have some firmware differences > to the regular 2.5" models I guess and the PM830 SSD has many OEM firmware > customizations. > > So based on that I think a narrow quirk targeting your specific firmware version > is the best solution for this for now. > > I've attached a patch for this, can you build an arch kernel with that patch > added and see if that fixes things without you needing to manually change > anything? /sys/class/scsi_host/host0/link_power_management_policy should now > default to max_performance for your SSD. Note that there are almost no powersavings > when going from maximum_performance to medium_power, so we simply disable LPM > all together on models which have issues with med_power_with_dipm. Thanks. This quirk correctly picked up my device and set the policy to max_performance by default and there are no more freezes: # cat /sys/class/scsi_host/host0/link_power_management_policy max_performance > May I ask what motherboard your router is using ? The motherboard appears to be custom for this particular machine: http://www.inctel.com.cn/product/detail/PartakerI4.html >From dmidecode: Handle 0x0002, DMI type 2, 15 bytes Base Board Information Manufacturer: INTEL Corporation Product Name: CRESCENTBAY Version: To be filled by O.E.M. Serial Number: To be filled by O.E.M. Asset Tag: To be filled by O.E.M. Features: Board is a hosting board Board is replaceable Location In Chassis: To be filled by O.E.M. Chassis Handle: 0x0003 Type: Motherboard Contained Object Handles: 0 Regards, Kevin. > From 7f63aa54bf722b0585c5521d4728279d3d8fa40f Mon Sep 17 00:00:00 2001 > From: Hans de Goede <hdegoede@xxxxxxxxxx> > Date: Mon, 23 Apr 2018 09:27:28 +0200 > Subject: [PATCH] libata: Apply NOLPM quirk for SAMSUNG MZMPC128HBFU-000MV SSD > > Kevin Shanahan reports the following repeating errors when using LPM, > causing long delays accessing the disk: > > Apr 23 10:21:43 link kernel: ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x50000 action 0x6 frozen > Apr 23 10:21:43 link kernel: ata1: SError: { PHYRdyChg CommWake } > Apr 23 10:21:43 link kernel: ata1.00: failed command: WRITE DMA > Apr 23 10:21:43 link kernel: ata1.00: cmd ca/00:08:60:5d:cd/00:00:00:00:00/e1 tag 9 dma 4096 out > res 50/01:01:01:00:00/00:00:00:00:00/00 Emask 0x4 (timeout) > Apr 23 10:21:43 link kernel: ata1.00: status: { DRDY } > Apr 23 10:21:43 link kernel: ata1.00: error: { AMNF } > Apr 23 10:21:43 link kernel: ata1: hard resetting link > Apr 23 10:21:43 link kernel: ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300) > Apr 23 10:21:43 link kernel: ata1.00: configured for UDMA/133 > Apr 23 10:21:43 link kernel: ata1: EH complete > > These go away when switching from med_power_with_dipm to medium_power. > > This is somewhat weird as the PM830 datasheet explicitly mentions DIPM > being supported and the idle power-consumption is specified with DIPM > enabled. > > There are many OEM customized firmware versions for the PM830, so for now > lets assume this is firmware version specific and blacklist LPM based on > the firmware version. > > Cc: Kevin Shanahan <kevin@xxxxxxxxxxxxxx> > Reported-by: Kevin Shanahan <kevin@xxxxxxxxxxxxxx> > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> > --- > drivers/ata/libata-core.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c > index 8bc71ca61e7f..6e400ff2b5db 100644 > --- a/drivers/ata/libata-core.c > +++ b/drivers/ata/libata-core.c > @@ -4549,6 +4549,9 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = { > ATA_HORKAGE_ZERO_AFTER_TRIM | > ATA_HORKAGE_NOLPM, }, > > + /* This specific Samsung model/firmware-rev does not handle LPM well */ > + { "SAMSUNG MZMPC128HBFU-000MV", "CXM14M1Q", ATA_HORKAGE_NOLPM, }, > + > /* devices that don't properly handle queued TRIM commands */ > { "Micron_M500_*", NULL, ATA_HORKAGE_NO_NCQ_TRIM | > ATA_HORKAGE_ZERO_AFTER_TRIM, }, > -- > 2.17.0 > -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html