]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
scsi: ata: Stop disk on restart if ACPI power resources are found
authorMarkus Probst <markus.probst@posteo.de>
Tue, 4 Nov 2025 14:24:34 +0000 (14:24 +0000)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sat, 8 Nov 2025 18:24:56 +0000 (13:24 -0500)
commit8c59fc1c90df7ff29565d9743f0e61180e9ee00d
tree35a8a0d0332c76fc433b398da923400df9fbafcc
parentce6d26b5330c5de4f458143e9675984e367f6a40
scsi: ata: Stop disk on restart if ACPI power resources are found

Some embedded devices have the ability to control whether power is
provided to the disks via the SATA power connector or not. ACPI power
resources are usually off by default, thus making it unclear if the
specific power resource will retain its state after a restart. If power
resources are defined on ATA ports / devices in ACPI, we should stop the
disk on SYSTEM_RESTART, to ensure the disk will not lose power while
active.

Add a new function, ata_acpi_dev_manage_restart(), that will be used to
determine if a disk should be stopped before restarting the system. If a
usable ACPI power resource has been found, it is assumed that the disk
will lose power after a restart and should be stopped to avoid unclean
shutdown due to power loss.

Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Signed-off-by: Markus Probst <markus.probst@posteo.de>
Link: https://patch.msgid.link/20251104142413.322347-4-markus.probst@posteo.de
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ata/libata-acpi.c
drivers/ata/libata-scsi.c
drivers/ata/libata.h