On 5/31/24 6:28 AM, Niklas Cassel wrote: > Commit 7627a0edef54 ("ata: ahci: Drop low power policy board type") > dropped the board_ahci_low_power board type, and instead enables LPM if: > -The AHCI controller reports that it supports LPM (Partial/Slumber), and > -CONFIG_SATA_MOBILE_LPM_POLICY != 0, and > -The port is not defined as external in the per port PxCMD register, and > -The port is not defined as hotplug capable in the per port PxCMD > register. > > Partial and Slumber LPM states can either be initiated by HIPM or DIPM. > > For HIPM (host initiated power management) to get enabled, both the AHCI > controller and the drive have to report that they support HIPM. > > For DIPM (device initiated power management) to get enabled, only the > drive has to report that it supports DIPM. However, the HBA will reject > device requests to enter LPM states which the HBA does not support. > > The problem is that Crucial CT240BX500SSD1 drives do not handle low power > modes correctly. The problem was most likely not seen before because no > one had used this drive with a AHCI controller with LPM enabled. > > Add a quirk so that we do not enable LPM for this drive, since we see > command timeouts if we do (even though the drive claims to support DIPM). > > Fixes: 7627a0edef54 ("ata: ahci: Drop low power policy board type") > Cc: stable@xxxxxxxxxxxxxxx > Reported-by: Aarrayy <lp610mh@xxxxxxxxx> > Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218832 > Signed-off-by: Niklas Cassel <cassel@xxxxxxxxxx> Reviewed-by: Damien Le Moal <dlemoal@xxxxxxxxxx> -- Damien Le Moal Western Digital Research