summaryrefslogtreecommitdiff
path: root/firmware/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers')
-rw-r--r--firmware/drivers/ata.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/firmware/drivers/ata.c b/firmware/drivers/ata.c
index ba0d6d169e..56dc7d74fe 100644
--- a/firmware/drivers/ata.c
+++ b/firmware/drivers/ata.c
@@ -809,6 +809,19 @@ void ata_spindown(int seconds)
809 809
810bool ata_disk_is_active(void) 810bool ata_disk_is_active(void)
811{ 811{
812 /* "active" here means "spinning and needs to be shut down" */
813
814 /* SSDs are considered always "inactive" */
815 if (ata_disk_isssd())
816 return false;
817
818 /* We can't directly detect the common iFlash adapters, but they
819 don't claim to support powermanagement. Without ATA power
820 management we can never spin down anyway, so there's
821 no point in even trying. */
822 if (!(identify_info[82] & (1 << 3)))
823 return false;
824
812 return ata_state >= ATA_SPINUP; 825 return ata_state >= ATA_SPINUP;
813} 826}
814 827