summaryrefslogtreecommitdiff
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
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.
-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;
}