stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] libata: Apply NOLPM quirk to Crucial M500 480 and 960GB SSDs
@ 2018-03-19 15:33 Hans de Goede
  2018-03-19 15:33 ` [PATCH 2/3] libata: Make Crucial BX100 500GB LPM quirk apply to all firmware versions Hans de Goede
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Hans de Goede @ 2018-03-19 15:33 UTC (permalink / raw)
  To: Tejun Heo; +Cc: Hans de Goede, linux-ide, linux-kernel, stable

There have been reports of the Crucial M500 480GB model not working
with LPM set to min_power / med_power_with_dipm level.

It has not been tested with medium_power, but that typically has no
measurable power-savings.

Note the reporters Crucial_CT480M500SSD3 has a firmware version of MU03
and there is a MU05 update available, but that update does not mention any
LPM fixes in its changelog, so the quirk matches all firmware versions.

In my experience the LPM problems with (older) Crucial SSDs seem to be
limited to higher capacity versions of the SSDs (different firmware?),
so this commit adds a NOLPM quirk for the 480 and 960GB versions of the
M500, to avoid LPM causing issues with these SSDs.

Cc: stable@vger.kernel.org
Reported-and-tested-by: Martin Steigerwald <martin@lichtvoll.de>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/ata/libata-core.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index aec609f80c4e..53400ce09818 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4538,6 +4538,14 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
 						ATA_HORKAGE_ZERO_AFTER_TRIM |
 						ATA_HORKAGE_NOLPM, },
 
+	/* 480GB+ M500 SSDs have both queued TRIM and LPM issues */
+	{ "Crucial_CT480M500*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
+						ATA_HORKAGE_ZERO_AFTER_TRIM |
+						ATA_HORKAGE_NOLPM, },
+	{ "Crucial_CT960M500*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
+						ATA_HORKAGE_ZERO_AFTER_TRIM |
+						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.14.3

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/3] libata: Make Crucial BX100 500GB LPM quirk apply to all firmware versions
  2018-03-19 15:33 [PATCH 1/3] libata: Apply NOLPM quirk to Crucial M500 480 and 960GB SSDs Hans de Goede
@ 2018-03-19 15:33 ` Hans de Goede
  2018-03-19 15:34 ` [PATCH 3/3] libata: Modify quirks for MX100 to limit NCQ_TRIM quirk to MU01 version Hans de Goede
  2018-03-19 15:37 ` [PATCH 1/3] libata: Apply NOLPM quirk to Crucial M500 480 and 960GB SSDs Tejun Heo
  2 siblings, 0 replies; 4+ messages in thread
From: Hans de Goede @ 2018-03-19 15:33 UTC (permalink / raw)
  To: Tejun Heo; +Cc: Hans de Goede, linux-ide, linux-kernel, stable, Kai-Heng Feng

Commit b17e5729a630 ("libata: disable LPM for Crucial BX100 SSD 500GB
drive"), introduced a ATA_HORKAGE_NOLPM quirk for Crucial BX100 500GB SSDs
but limited this to the MU02 firmware version, according to:
http://www.crucial.com/usa/en/support-ssd-firmware

MU02 is the last version, so there are no newer possibly fixed versions
and if the MU02 version has broken LPM then the MU01 almost certainly
also has broken LPM, so this commit changes the quirk to apply to all
firmware versions.

Fixes: b17e5729a630 ("libata: disable LPM for Crucial BX100 SSD 500GB...")
Cc: stable@vger.kernel.org
Cc: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/ata/libata-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 53400ce09818..bce9840526da 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4531,7 +4531,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
 	{ "PIONEER DVD-RW  DVR-216D",	NULL,	ATA_HORKAGE_NOSETXFER },
 
 	/* Crucial BX100 SSD 500GB has broken LPM support */
-	{ "CT500BX100SSD1",		"MU02",	ATA_HORKAGE_NOLPM },
+	{ "CT500BX100SSD1",		NULL,	ATA_HORKAGE_NOLPM },
 
 	/* The 512GB version of the MX100 has both queued TRIM and LPM issues */
 	{ "Crucial_CT512MX100*",	NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 3/3] libata: Modify quirks for MX100 to limit NCQ_TRIM quirk to MU01 version
  2018-03-19 15:33 [PATCH 1/3] libata: Apply NOLPM quirk to Crucial M500 480 and 960GB SSDs Hans de Goede
  2018-03-19 15:33 ` [PATCH 2/3] libata: Make Crucial BX100 500GB LPM quirk apply to all firmware versions Hans de Goede
@ 2018-03-19 15:34 ` Hans de Goede
  2018-03-19 15:37 ` [PATCH 1/3] libata: Apply NOLPM quirk to Crucial M500 480 and 960GB SSDs Tejun Heo
  2 siblings, 0 replies; 4+ messages in thread
From: Hans de Goede @ 2018-03-19 15:34 UTC (permalink / raw)
  To: Tejun Heo; +Cc: Hans de Goede, linux-ide, linux-kernel, stable

When commit 9c7be59fc519af ("libata: Apply NOLPM quirk to Crucial MX100
512GB SSDs") was added it inherited the ATA_HORKAGE_NO_NCQ_TRIM quirk
from the existing "Crucial_CT*MX100*" entry, but that entry sets model_rev
to "MU01", where as the entry adding the NOLPM quirk sets it to NULL.

This means that after this commit we no apply the NO_NCQ_TRIM quirk to
all "Crucial_CT512MX100*" SSDs even if they have the fixed "MU02"
firmware. This commit splits the "Crucial_CT512MX100*" quirk into 2
quirks, one for the "MU01" firmware and one for all other firmware
versions, so that we once again only apply the NO_NCQ_TRIM quirk to the
"MU01" firmware version.

Fixes: 9c7be59fc519af ("libata: Apply NOLPM quirk to ... MX100 512GB SSDs")
Cc: stable@vger.kernel.org
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/ata/libata-core.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index bce9840526da..7431ccd03316 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4533,10 +4533,13 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
 	/* Crucial BX100 SSD 500GB has broken LPM support */
 	{ "CT500BX100SSD1",		NULL,	ATA_HORKAGE_NOLPM },
 
-	/* The 512GB version of the MX100 has both queued TRIM and LPM issues */
-	{ "Crucial_CT512MX100*",	NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
+	/* 512GB MX100 with MU01 firmware has both queued TRIM and LPM issues */
+	{ "Crucial_CT512MX100*",	"MU01",	ATA_HORKAGE_NO_NCQ_TRIM |
 						ATA_HORKAGE_ZERO_AFTER_TRIM |
 						ATA_HORKAGE_NOLPM, },
+	/* 512GB MX100 with newer firmware has only LPM issues */
+	{ "Crucial_CT512MX100*",	NULL,	ATA_HORKAGE_ZERO_AFTER_TRIM |
+						ATA_HORKAGE_NOLPM, },
 
 	/* 480GB+ M500 SSDs have both queued TRIM and LPM issues */
 	{ "Crucial_CT480M500*",		NULL,	ATA_HORKAGE_NO_NCQ_TRIM |
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/3] libata: Apply NOLPM quirk to Crucial M500 480 and 960GB SSDs
  2018-03-19 15:33 [PATCH 1/3] libata: Apply NOLPM quirk to Crucial M500 480 and 960GB SSDs Hans de Goede
  2018-03-19 15:33 ` [PATCH 2/3] libata: Make Crucial BX100 500GB LPM quirk apply to all firmware versions Hans de Goede
  2018-03-19 15:34 ` [PATCH 3/3] libata: Modify quirks for MX100 to limit NCQ_TRIM quirk to MU01 version Hans de Goede
@ 2018-03-19 15:37 ` Tejun Heo
  2 siblings, 0 replies; 4+ messages in thread
From: Tejun Heo @ 2018-03-19 15:37 UTC (permalink / raw)
  To: Hans de Goede; +Cc: linux-ide, linux-kernel, stable

On Mon, Mar 19, 2018 at 04:33:58PM +0100, Hans de Goede wrote:
> There have been reports of the Crucial M500 480GB model not working
> with LPM set to min_power / med_power_with_dipm level.
> 
> It has not been tested with medium_power, but that typically has no
> measurable power-savings.
> 
> Note the reporters Crucial_CT480M500SSD3 has a firmware version of MU03
> and there is a MU05 update available, but that update does not mention any
> LPM fixes in its changelog, so the quirk matches all firmware versions.
> 
> In my experience the LPM problems with (older) Crucial SSDs seem to be
> limited to higher capacity versions of the SSDs (different firmware?),
> so this commit adds a NOLPM quirk for the 480 and 960GB versions of the
> M500, to avoid LPM causing issues with these SSDs.
> 
> Cc: stable@vger.kernel.org
> Reported-and-tested-by: Martin Steigerwald <martin@lichtvoll.de>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Applied 1-3 to libata/for-4.16-fixes.

Thanks.

-- 
tejun

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-03-19 15:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-19 15:33 [PATCH 1/3] libata: Apply NOLPM quirk to Crucial M500 480 and 960GB SSDs Hans de Goede
2018-03-19 15:33 ` [PATCH 2/3] libata: Make Crucial BX100 500GB LPM quirk apply to all firmware versions Hans de Goede
2018-03-19 15:34 ` [PATCH 3/3] libata: Modify quirks for MX100 to limit NCQ_TRIM quirk to MU01 version Hans de Goede
2018-03-19 15:37 ` [PATCH 1/3] libata: Apply NOLPM quirk to Crucial M500 480 and 960GB SSDs Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).