summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/ata-all.c
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2003-10-12 12:37:11 +0000
committersos <sos@FreeBSD.org>2003-10-12 12:37:11 +0000
commite0cb3af529f3c97942ceb911ca9a1a1cb1d417a1 (patch)
tree0c19c818d9824509844808f896240ec7a33c8b0b /sys/dev/ata/ata-all.c
parent4f4aab360e45350a7b0042f191924c4d5f89e43f (diff)
downloadFreeBSD-src-e0cb3af529f3c97942ceb911ca9a1a1cb1d417a1.zip
FreeBSD-src-e0cb3af529f3c97942ceb911ca9a1a1cb1d417a1.tar.gz
Put devices into sleep mode (ie spin down) on detach.
Diffstat (limited to 'sys/dev/ata/ata-all.c')
-rw-r--r--sys/dev/ata/ata-all.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/ata/ata-all.c b/sys/dev/ata/ata-all.c
index 64bf50a..bc39b10 100644
--- a/sys/dev/ata/ata-all.c
+++ b/sys/dev/ata/ata-all.c
@@ -197,12 +197,14 @@ ata_detach(device_t dev)
if (ch->device[MASTER].param) {
if (ch->device[MASTER].param->support.command2 & ATA_SUPPORT_FLUSHCACHE)
ata_controlcmd(&ch->device[MASTER], ATA_FLUSHCACHE, 0, 0, 0);
+ ata_controlcmd(&ch->device[MASTER], ATA_SLEEP, 0, 0, 0);
free(ch->device[MASTER].param, M_ATA);
ch->device[MASTER].param = NULL;
}
if (ch->device[SLAVE].param) {
if (ch->device[SLAVE].param->support.command2 & ATA_SUPPORT_FLUSHCACHE)
ata_controlcmd(&ch->device[SLAVE], ATA_FLUSHCACHE, 0, 0, 0);
+ ata_controlcmd(&ch->device[SLAVE], ATA_SLEEP, 0, 0, 0);
free(ch->device[SLAVE].param, M_ATA);
ch->device[SLAVE].param = NULL;
}
OpenPOWER on IntegriCloud