]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ata: libata-core: Add NOLPM quirk for PNY CS900 1TB SSD
authorBryam Vargas <hexlabsecurity@proton.me>
Sat, 20 Jun 2026 02:54:02 +0000 (21:54 -0500)
committerDamien Le Moal <dlemoal@kernel.org>
Fri, 3 Jul 2026 04:44:18 +0000 (13:44 +0900)
The PNY CS900 1TB SSD (Phison PS3111-S11, DRAM-less) drops off the bus
after entering Device-Initiated Slumber during idle. With the default
med_power_with_dipm policy the link goes down (SStatus 1 SControl 300)
and does not recover, forcing the filesystem read-only. Forcing
max_performance keeps the link stable across prolonged idle.

Add a NOLPM quirk so link power management is disabled for this drive
specifically, leaving it intact for other devices on the host.

Cc: stable@vger.kernel.org
Signed-off-by: Bryam Vargas <hexlabsecurity@proton.me>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
drivers/ata/libata-core.c

index 3b6243f0f91e74397f62f7c01dd24eb9651c34c0..c9a6eade8faf6905a9aa2ea770a850fcd5233e1d 100644 (file)
@@ -4295,6 +4295,9 @@ static const struct ata_dev_quirks_entry __ata_dev_quirks[] = {
        /* Apacer models with LPM issues */
        { "Apacer AS340*",              NULL,   ATA_QUIRK_NOLPM },
 
+       /* PNY CS900 (Phison PS3111-S11, DRAM-less) drops the link on DIPM */
+       { "PNY CS900 1TB SSD",          NULL,   ATA_QUIRK_NOLPM },
+
        /* Silicon Motion models with LPM issues */
        { "MD619HXCLDE3TC",             "TCVAID", ATA_QUIRK_NOLPM },
        { "MD619GXCLDE3TC",             "TCV35D", ATA_QUIRK_NOLPM },