diff options
author | sos <sos@FreeBSD.org> | 2003-10-12 12:37:11 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2003-10-12 12:37:11 +0000 |
commit | e0cb3af529f3c97942ceb911ca9a1a1cb1d417a1 (patch) | |
tree | 0c19c818d9824509844808f896240ec7a33c8b0b /sys/dev/ata/ata-all.c | |
parent | 4f4aab360e45350a7b0042f191924c4d5f89e43f (diff) | |
download | FreeBSD-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.c | 2 |
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; } |