aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorSøren Schmidt <sos@FreeBSD.org>2003-10-10 11:03:27 +0000
committerSøren Schmidt <sos@FreeBSD.org>2003-10-10 11:03:27 +0000
commit82681884cf8a124890742949facf5a92898ae029 (patch)
treebc536489f27777fd8412f6a7104c524a301afbd2 /sys/dev
parent6235c1f6ae1561e00a9bdf707d4e4427dfaded0d (diff)
Notes
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ata/ata-all.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/ata/ata-all.c b/sys/dev/ata/ata-all.c
index f58e49e3515aa..d3a45e94657d7 100644
--- a/sys/dev/ata/ata-all.c
+++ b/sys/dev/ata/ata-all.c
@@ -276,6 +276,13 @@ ata_reinit(struct ata_channel *ch)
ch->device[SLAVE].attach)
ch->device[SLAVE].attach(&ch->device[SLAVE]);
}
+
+ /* restore transfermode on devices */
+ if (ch->devices & (ATA_ATA_MASTER | ATA_ATAPI_MASTER))
+ ch->device[MASTER].setmode(&ch->device[MASTER],ch->device[MASTER].mode);
+ if (ch->devices & (ATA_ATA_SLAVE | ATA_ATAPI_SLAVE))
+ ch->device[SLAVE].setmode(&ch->device[SLAVE], ch->device[SLAVE].mode);
+
#ifdef DEV_ATAPICAM
atapi_cam_reinit_bus(ch);
#endif