diff options
author | Pedro Martelletto <pedro@cvs.openbsd.org> | 2005-11-12 03:44:25 +0000 |
---|---|---|
committer | Pedro Martelletto <pedro@cvs.openbsd.org> | 2005-11-12 03:44:25 +0000 |
commit | 375cd270afcb9a9c738768d55f4294b8cbb32edd (patch) | |
tree | d4d0fc94b371f3dfb51698094d125f3601ee4249 /sys/arch/vax/qbus/uda.c | |
parent | 2c8007da4b40d76497f24fc7b90479771a84edb7 (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.c | 11 |
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); |