diff options
-rw-r--r-- | sys/amd64/isa/isa.c | 4 | ||||
-rw-r--r-- | sys/i386/isa/isa.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/sys/amd64/isa/isa.c b/sys/amd64/isa/isa.c index 9e67efc..f878655 100644 --- a/sys/amd64/isa/isa.c +++ b/sys/amd64/isa/isa.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)isa.c 7.2 (Berkeley) 5/13/91 - * $Id: isa.c,v 1.111 1998/02/06 12:13:17 eivind Exp $ + * $Id: isa.c,v 1.112 1998/04/17 22:36:36 des Exp $ */ /* @@ -868,6 +868,8 @@ isa_dmadone(int flags, caddr_t addr, int nbytes, int chan) (dma_auto_mode & (1 << chan)) == 0 ) printf("isa_dmadone: channel %d not busy\n", chan); + if ((dma_auto_mode & (1 << chan)) == 0) + outb(chan & 4 ? DMA2_SMSK : DMA1_SMSK, (chan & 3) | 4); if (dma_bounced & (1 << chan)) { /* copy bounce buffer on read */ diff --git a/sys/i386/isa/isa.c b/sys/i386/isa/isa.c index 9e67efc..f878655 100644 --- a/sys/i386/isa/isa.c +++ b/sys/i386/isa/isa.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)isa.c 7.2 (Berkeley) 5/13/91 - * $Id: isa.c,v 1.111 1998/02/06 12:13:17 eivind Exp $ + * $Id: isa.c,v 1.112 1998/04/17 22:36:36 des Exp $ */ /* @@ -868,6 +868,8 @@ isa_dmadone(int flags, caddr_t addr, int nbytes, int chan) (dma_auto_mode & (1 << chan)) == 0 ) printf("isa_dmadone: channel %d not busy\n", chan); + if ((dma_auto_mode & (1 << chan)) == 0) + outb(chan & 4 ? DMA2_SMSK : DMA1_SMSK, (chan & 3) | 4); if (dma_bounced & (1 << chan)) { /* copy bounce buffer on read */ |