summaryrefslogtreecommitdiff
path: root/sys/arch/amiga
diff options
context:
space:
mode:
authorNiklas Hallqvist <niklas@cvs.openbsd.org>1996-01-31 22:10:22 +0000
committerNiklas Hallqvist <niklas@cvs.openbsd.org>1996-01-31 22:10:22 +0000
commit4a6fd694a9decb0a2fb0110036e730bf5ffc05df (patch)
tree55c6810823265b0198c11357159c4a743333fb3c /sys/arch/amiga
parent5945321e9d7a33915ac0ae6169c8741c1a49cd99 (diff)
from netbsd: make sure master enable is set.
Call disk_busy() a bit earlier in case an exceptional condition causes fddone() (and thus disk_unbusy()) to be called directly from fdstart(). Pointed out by Ezra Story <ezy@panix.com>.
Diffstat (limited to 'sys/arch/amiga')
-rw-r--r--sys/arch/amiga/dev/fd.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/arch/amiga/dev/fd.c b/sys/arch/amiga/dev/fd.c
index dcb342afb0b..699b917edce 100644
--- a/sys/arch/amiga/dev/fd.c
+++ b/sys/arch/amiga/dev/fd.c
@@ -1,4 +1,4 @@
-/* $NetBSD: fd.c,v 1.22 1996/01/07 22:01:50 thorpej Exp $ */
+/* $NetBSD: fd.c,v 1.25 1996/01/28 19:48:39 chopps Exp $ */
/*
* Copyright (c) 1994 Christian E. Hopps
@@ -360,7 +360,7 @@ fdattach(pdp, dp, auxp)
/*
* enable disk related interrupts
*/
- custom.dmacon = DMAF_SETCLR | DMAF_DISK;
+ custom.dmacon = DMAF_SETCLR | DMAF_MASTER | DMAF_DISK;
/* XXX why softint */
custom.intena = INTF_SETCLR |INTF_SOFTINT | INTF_DSKBLK;
ciaa.icr = CIA_ICR_IR_SC | CIA_ICR_FLG;
@@ -1116,6 +1116,12 @@ fdstart(sc)
}
/*
+ * Mark us as busy now, in case fddone() gets called in one
+ * of the cases below.
+ */
+ disk_busy(&sc->dkdev);
+
+ /*
* make sure same disk is loaded
*/
fdselunit(sc);
@@ -1170,9 +1176,6 @@ fdstart(sc)
*/
trk = bp->b_blkno / sc->nsectors;
- /* Instrumentation. */
- disk_busy(&sc->dkdev);
-
/*
* check to see if same as currently cached track
* if so we need to do no dma read.