Re: [PATCH 2/2] scsi: sd: fix system start for ATA devices

Damien Le Moal
2023-11-20T09:00:10Z

On 11/20/23 17:50, Sergey Shtylyov wrote:
> On 11/20/23 10:35 AM, Damien Le Moal wrote:
>
>> Ti is not always possible to keep a device in the runtime suspended
>
> s/Ti/It? :-)

Arg. Yes.

>
>> state when a system level suspend/resume cycle is executed. E.g. for ATA
>> devices connected to AHCI adapters, system resume resets the ATA ports,
>> which causes connected devices to spin up. In such case, a runtime
>> suspended disk will incorrectly be seen with a suspended runtime state
>> because the device is not resumed by sd_resume_system(). The power state
>> seen by the user is different than the actual device physical power
>> state.
>>
>> Fix this issue by introducing the struct scsi_device flag
>> force_runtime_start_on_system_start. When set, this flag causes
>> sd_resume_system() to request a runtime resume operation for runtime
>> suspended devices. This results in the user seeing the device
>> runtime_state as active after a system resume, thus correctly reflecting
>> the device physical power state.
>>
>> Fixes: 9131bff6a9f1 ("scsi: core: pm: Only runtime resume if necessary")
>> Cc: stable@vger.kernel.org
>> Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
> [...]
>
> MBR, Sergey

--
Damien Le Moal
Western Digital Research