ata: libata-core: Do not try to set sleeping devices to standby

commit 4b085736e4 upstream.

In ata ata_dev_power_set_standby(), check that the target device is not
sleeping. If it is, there is no need to do anything.

Fixes: aa3998dbeb ("ata: libata-scsi: Disable scsi device manage_system_start_stop")
Cc: stable@vger.kernel.org
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Damien Le Moal 2024-01-11 20:51:22 +09:00 committed by Greg Kroah-Hartman
parent 65c5a1ba2c
commit 287abdcb9e
1 changed files with 4 additions and 0 deletions

View File

@ -2005,6 +2005,10 @@ void ata_dev_power_set_active(struct ata_device *dev)
struct ata_taskfile tf;
unsigned int err_mask;
/* If the device is already sleeping, do nothing. */
if (dev->flags & ATA_DFLAG_SLEEPING)
return;
/*
* Issue READ VERIFY SECTORS command for 1 sector at lba=0 only
* if supported by the device.