summaryrefslogtreecommitdiff
path: root/sys/arch/vax/qbus/uda.c
diff options
context:
space:
mode:
authorPedro Martelletto <pedro@cvs.openbsd.org>2005-11-12 03:44:25 +0000
committerPedro Martelletto <pedro@cvs.openbsd.org>2005-11-12 03:44:25 +0000
commit375cd270afcb9a9c738768d55f4294b8cbb32edd (patch)
treed4d0fc94b371f3dfb51698094d125f3601ee4249 /sys/arch/vax/qbus/uda.c
parent2c8007da4b40d76497f24fc7b90479771a84edb7 (diff)
Make sure we only touch associated processes of physical buffers.
Okay deraadt@.
Diffstat (limited to 'sys/arch/vax/qbus/uda.c')
-rw-r--r--sys/arch/vax/qbus/uda.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/arch/vax/qbus/uda.c b/sys/arch/vax/qbus/uda.c
index ae22ee8ffce..cf44553ba3d 100644
--- a/sys/arch/vax/qbus/uda.c
+++ b/sys/arch/vax/qbus/uda.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uda.c,v 1.5 2004/07/07 23:10:46 deraadt Exp $ */
+/* $OpenBSD: uda.c,v 1.6 2005/11/12 03:44:24 pedro Exp $ */
/* $NetBSD: uda.c,v 1.36 2000/06/04 06:17:05 matt Exp $ */
/*
* Copyright (c) 1996 Ludd, University of Lule}, Sweden.
@@ -293,9 +293,9 @@ udago(usc, mxi)
* the map again.
*/
if (sc->sc_inq == 0) {
- err = bus_dmamap_load(sc->sc_dmat, mxi->mxi_dmam,
- bp->b_data,
- bp->b_bcount, bp->b_proc, BUS_DMA_NOWAIT);
+ err = bus_dmamap_load(sc->sc_dmat, mxi->mxi_dmam, bp->b_data,
+ bp->b_bcount, (bp->b_flags & B_PHYS ? bp->b_proc : NULL),
+ BUS_DMA_NOWAIT);
if (err == 0) {
mscp_dgo(sc->sc_softc, mxi);
return;
@@ -327,7 +327,8 @@ udaready(uu)
int err;
err = bus_dmamap_load(sc->sc_dmat, mxi->mxi_dmam, bp->b_data,
- bp->b_bcount, bp->b_proc, BUS_DMA_NOWAIT);
+ bp->b_bcount, (bp->b_flags & B_PHYS ? bp->b_proc : NULL),
+ BUS_DMA_NOWAIT);
if (err)
return 0;
mscp_dgo(sc->sc_softc, mxi);