When suspending the system, libata puts the drive in standby mode to prepare it to lose power. If the drive is in SLEEP mode, this spins it up only to spin it back down again. Don't do that. --- drivers/ata/libata-core.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index a2d8cc0097a8..1244da8f77e2 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -2030,6 +2030,10 @@ void ata_dev_power_set_standby(struct ata_device *dev) system_entering_hibernation()) return; + /* no need to standby if it is alreqady sleeping */ + if (dev->flags & ATA_DFLAG_SLEEPING) + return; + /* Issue STANDBY IMMEDIATE command only if supported by the device */ if (!ata_dev_power_init_tf(dev, &tf, false)) return; -- 2.30.2