From 2d2c0ad74d743b3a609689053f402f2c2b589869 Mon Sep 17 00:00:00 2001 From: jdolecek Date: Wed, 28 Jan 2004 20:08:35 +0000 Subject: [PATCH] don't limit size of DMA transfer by size of FIFO problem reported and fix provided in PR kern/24200 by Paul Shupak --- sys/dev/ic/atppc.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sys/dev/ic/atppc.c b/sys/dev/ic/atppc.c index e854e3bca759..d767c9184b1d 100644 --- a/sys/dev/ic/atppc.c +++ b/sys/dev/ic/atppc.c @@ -1,4 +1,4 @@ -/* $NetBSD: atppc.c,v 1.9 2004/01/28 14:26:24 drochner Exp $ */ +/* $NetBSD: atppc.c,v 1.10 2004/01/28 20:08:35 jdolecek Exp $ */ /* * Copyright (c) 2001 Alcove - Nicolas Souchu @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: atppc.c,v 1.9 2004/01/28 14:26:24 drochner Exp $"); +__KERNEL_RCSID(0, "$NetBSD: atppc.c,v 1.10 2004/01/28 20:08:35 jdolecek Exp $"); #include "opt_atppc.h" @@ -2171,11 +2171,8 @@ atppc_fifo_write_dma(struct atppc_softc * const atppc, unsigned char ecr, atppc_w_ecr(atppc, ecr); atppc_barrier_w(atppc); - /* Limit transfer to minimum of space in FIFO and buffer */ - worklen = min(len, atppc->sc_fifo); - /* Limit transfer to maximum DMA size and start it */ - worklen = min(worklen, atppc->sc_dma_maxsize); + worklen = min(len, atppc->sc_dma_maxsize); atppc->sc_dmastat = ATPPC_DMA_INIT; atppc->sc_dma_start(atppc, atppc->sc_outbstart, worklen, ATPPC_DMA_MODE_WRITE);