Re: [PATCH v4] ata: libata: disable LPM for WDC WD20EFAX-68FB5N0 hard drives

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Mikko,

On Mon, May 12, 2025 at 08:37:51AM +0300, Mikko Juhani Korhonen wrote:
> To clarify:
> I have a aROG STRIX B550-F GAMING (WI-FI) motherboard with 6 SATA
> ports from which I can use due to space restrictions 3,4,5,6. New
> info: having checked the manual I notice ports 5 and 6 are special,
> they can be used only when M.2_2 slot is not populated.
> I have WDC WD20EFAX-68FB5N0 and WDC WD5000AAKX-001CA0 drives.

Excellent find!

Out of curiosity, do you have the M.2_2 slot populated ?


> 
> Every combination worked up to 6.8.12 but it were lpm-pol
> keep_firmware_settings.
> 
> After that works:
> sata ports 5,6 -> WDC WD5000AAKX-001CA0
> sata ports 3,4 -> WDC WD5000AAKX-001CA0
> sata ports 3,4 -> WDC WD20EFAX-68FB5N0
> Not working:
> sata ports 5,6 -> WDC WD20EFAX-68FB5N0
> but setting link_power_management_policy to max_performance gets it going.
> 
> 
> > Basically, we wanted to compare the good 6.14.5 output with the bad 6.14.5 output, especially the lpm-pol output.

Ok, so the bad 6.14.5 dmesg you shared before (where you got timeouts),
was when using SATA ports 5,6 ?


If so, it seems that you've managed to narrow it down to:

Things works as expected on 6.14.5, when using ports 3-4 (and most likely
port 1-2), lpm-pol is 3, which means that LPM is enabled (it also means
that hotplug is not enabled in BIOS).

You get timeouts on 6.14.5, when using ports 5-6, lpm-pol is 3, which
means that LPM is enabled (it also means that hotplug is not enabled in
BIOS).


I think this makes things more complicated, since as you have figured out
yourself, LPM appears to work correctly on AMD 500 Series SATA Controller,
when using the ports that are not also used for NVMe.

This means that it would be wrong to apply a quirk for this specific
controller (as that quirk would apply for all ports).

Since this LPM issue only affects the ports that are also used for NVMe,
this is most likely a BIOS / motherboard bug, and not a HW bug in the AHCI
controller.

So, if we really want to have a quirk which disables LPM only for ports 5-6,
it would probably have to be a DMI quirk, which matches the motherboard name,
see e.g.:
https://github.com/torvalds/linux/blob/v6.15-rc6/drivers/ata/ahci.c#L1120-L1145


Kind regards,
Niklas




[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux