Re: Regression from 7627a0edef54 ("ata: ahci: Drop low power policy board type") on reboot (but not cold boot)

Eric
2025-03-12T17:11:18Z

Hi Niklas

Le 11/03/2025 à 15:14, Niklas Cassel a écrit :
> Hello Hans, Eric,
>
> Eric, could you please run:
> $ sudo hdparm -I /dev/sdX | grep "interface power management"
>
> on both your Samsung and Maxtor drive?
> (A star to the left of feature means that the feature is enabled)

Here is the result (apparently PM is enabled on the maxtor but it
doesn't create the same problem) :

(trixieUSB)eric@gwaihir:~$ sudo hdparm -I
/dev/disk/by-id/ata-MAXTOR_STM3250310AS_6RY2WB82 | grep "interface power
management"
*    Device-initiated interface power management
(trixieUSB)eric@gwaihir:~$ sudo hdparm -I
/dev/disk/by-id/ata-Samsung_SSD_870_QVO_2TB_S5RPNF0T419459E | grep
"interface power management"
*    Device-initiated interface power management

>
>
> One guess... perhaps it could be Device Initiated PM that is broken with
> these controllers? (Even though the controller does claim to support it.)
>
> Eric, could you please try this patch:
>
> diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
> index f813dbdc2346..ca690fde8842 100644
> --- a/drivers/ata/ahci.c
> +++ b/drivers/ata/ahci.c
> @@ -244,7 +244,7 @@ static const struct ata_port_info ahci_port_info[] = {
> },
> [board_ahci_sb700] = { /* for SB700 and SB800 */
> AHCI_HFLAGS (AHCI_HFLAG_IGN_SERR_INTERNAL),
> - .flags = AHCI_FLAG_COMMON,
> + .flags = AHCI_FLAG_COMMON | ATA_FLAG_NO_DIPM,
> .pio_mask = ATA_PIO4,
> .udma_mask = ATA_UDMA6,
> .port_ops = &ahci_pmp_retry_srst_ops,
Will do. I'll report back as soon as I've built the modified kernel and
tested it.
>
>
> Kind regards,
> Niklas

Kind regards

Eric