summaryrefslogtreecommitdiff
path: root/sys/dev/isa/fd.c
diff options
context:
space:
mode:
authorJason Downs <downsj@cvs.openbsd.org>1999-10-07 18:47:20 +0000
committerJason Downs <downsj@cvs.openbsd.org>1999-10-07 18:47:20 +0000
commit6df9b7c4442687bb0d55f7c12421948fc2f3adfb (patch)
tree875e5bd384b1c867bbf86205bd0497de0f22eba1 /sys/dev/isa/fd.c
parent65018559f0f8202c4a588ed5bf52bb5ace0e87b5 (diff)
Add a delay() before turning the motor off; some controllers don't see it
otherwise. Also move the motor off up so that it always gets performed, even if the probe is overridden via config flags.
Diffstat (limited to 'sys/dev/isa/fd.c')
-rw-r--r--sys/dev/isa/fd.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/dev/isa/fd.c b/sys/dev/isa/fd.c
index 91f24aedd46..adf1e65526c 100644
--- a/sys/dev/isa/fd.c
+++ b/sys/dev/isa/fd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: fd.c,v 1.40 1999/01/07 06:14:48 niklas Exp $ */
+/* $OpenBSD: fd.c,v 1.41 1999/10/07 18:47:19 downsj Exp $ */
/* $NetBSD: fd.c,v 1.90 1996/05/12 23:12:03 mycroft Exp $ */
/*-
@@ -204,11 +204,14 @@ fdprobe(parent, match, aux)
printf("\n");
}
#endif
+
+ /* turn off motor */
+ delay(250000);
+ bus_space_write_1(iot, ioh, fdout, FDO_FRST);
+
/* flags & 0x20 forces the drive to be found even if it won't probe */
if (!(fa->fa_flags & 0x20) && (n != 2 || (fdc->sc_status[0] & 0xf8) != 0x20))
return 0;
- /* turn off motor */
- bus_space_write_1(iot, ioh, fdout, FDO_FRST);
return 1;
}