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

Eric
2025-03-12T21:51:56Z

Le 12/03/2025 à 18:11, Eric a écrit :
> 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.

Tested. Both disks now respond that way (no Device-initiated interface
power management) :

(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

With the patch you asked me to test, the SSD is properly detected at
reboot, both by the UEFI and the kernel.

>>
>>
>> Kind regards,
>> Niklas

Kind regards

Eri