aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2018-04-26 16:32:21 -0400
committerTejun Heo <tj@kernel.org>2018-04-26 17:08:55 -0400
commit184add2ca23ce5edcac0ab9c3b9be13f91e7b567 (patch)
tree2a998a30db4031b8ceeab05fc9e88772ad46f90f
parentb5b4d3a52c8fd6e3fc6469c5a64ca0139c07229e (diff)
libata: Apply NOLPM quirk for SanDisk SD7UB3Q*G1001 SSDs
Richard Jones has reported that using med_power_with_dipm on a T450s with a Sandisk SD7UB3Q256G1001 SSD (firmware version X2180501) is causing the machine to hang. Switching the LPM to max_performance fixes this, so it seems that this Sandisk SSD does not handle LPM well. Note in the past there have been bug-reports about the following Sandisk models not working with min_power, so we may need to extend the quirk list in the future: name - firmware Sandisk SD6SB2M512G1022I - X210400 Sandisk SD6PP4M-256G-1006 - A200906 Cc: stable@vger.kernel.org Cc: Richard W.M. Jones <rjones@redhat.com> Reported-and-tested-by: Richard W.M. Jones <rjones@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Tejun Heo <tj@kernel.org>
-rw-r--r--drivers/ata/libata-core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 6e400ff2b5db..68596bd4cf06 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4552,6 +4552,9 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
4552 /* This specific Samsung model/firmware-rev does not handle LPM well */ 4552 /* This specific Samsung model/firmware-rev does not handle LPM well */
4553 { "SAMSUNG MZMPC128HBFU-000MV", "CXM14M1Q", ATA_HORKAGE_NOLPM, }, 4553 { "SAMSUNG MZMPC128HBFU-000MV", "CXM14M1Q", ATA_HORKAGE_NOLPM, },
4554 4554
4555 /* Sandisk devices which are known to not handle LPM well */
4556 { "SanDisk SD7UB3Q*G1001", NULL, ATA_HORKAGE_NOLPM, },
4557
4555 /* devices that don't properly handle queued TRIM commands */ 4558 /* devices that don't properly handle queued TRIM commands */
4556 { "Micron_M500_*", NULL, ATA_HORKAGE_NO_NCQ_TRIM | 4559 { "Micron_M500_*", NULL, ATA_HORKAGE_NO_NCQ_TRIM |
4557 ATA_HORKAGE_ZERO_AFTER_TRIM, }, 4560 ATA_HORKAGE_ZERO_AFTER_TRIM, },