diff --git a/firmware/drivers/ata.c b/firmware/drivers/ata.c index 7b9c4910cf..b4d8a388ec 100644 --- a/firmware/drivers/ata.c +++ b/firmware/drivers/ata.c @@ -845,7 +845,7 @@ void ata_spindown(int seconds) bool ata_disk_is_active(void) { - return ata_state >= ATA_SPINUP; + return ata_disk_can_poweroff() ? (ata_state >= ATA_SPINUP) : 0; } void ata_sleepnow(void) diff --git a/firmware/target/arm/s5l8702/ipod6g/storage_ata-6g.c b/firmware/target/arm/s5l8702/ipod6g/storage_ata-6g.c index 9629b3e30f..ee192ae3d1 100644 --- a/firmware/target/arm/s5l8702/ipod6g/storage_ata-6g.c +++ b/firmware/target/arm/s5l8702/ipod6g/storage_ata-6g.c @@ -521,7 +521,7 @@ static void ata_set_active(void) bool ata_disk_is_active(void) { - return ata_powered; + return ata_disk_can_poweroff() ? ata_powered : 0; } static int ata_set_feature(uint32_t feature, uint32_t param)