Page MenuHomeFreeBSD

D43008.id131363.diff
No OneTemporary

D43008.id131363.diff

diff --git a/sys/dev/mpr/mpr.c b/sys/dev/mpr/mpr.c
--- a/sys/dev/mpr/mpr.c
+++ b/sys/dev/mpr/mpr.c
@@ -1500,7 +1500,8 @@
rsize = sc->chain_frame_size * sc->num_chains;
bus_dma_template_init(&t, sc->mpr_parent_dmat);
BUS_DMA_TEMPLATE_FILL(&t, BD_ALIGNMENT(16), BD_MAXSIZE(rsize),
- BD_MAXSEGSIZE(rsize), BD_NSEGMENTS((howmany(rsize, PAGE_SIZE))));
+ BD_MAXSEGSIZE(rsize), BD_NSEGMENTS((howmany(rsize, PAGE_SIZE))),
+ BD_BOUNDARY(BUS_SPACE_MAXSIZE_32BIT+1));
if (bus_dma_template_tag(&t, &sc->chain_dmat)) {
mpr_dprint(sc, MPR_ERROR, "Cannot allocate chain DMA tag\n");
return (ENOMEM);
@@ -1552,7 +1553,8 @@
BUS_DMA_TEMPLATE_FILL(&t, BD_MAXSIZE(BUS_SPACE_MAXSIZE_32BIT),
BD_NSEGMENTS(nsegs), BD_MAXSEGSIZE(BUS_SPACE_MAXSIZE_32BIT),
BD_FLAGS(BUS_DMA_ALLOCNOW), BD_LOCKFUNC(busdma_lock_mutex),
- BD_LOCKFUNCARG(&sc->mpr_mtx));
+ BD_LOCKFUNCARG(&sc->mpr_mtx),
+ BD_BOUNDARY(BUS_SPACE_MAXSIZE_32BIT+1));
if (bus_dma_template_tag(&t, &sc->buffer_dmat)) {
mpr_dprint(sc, MPR_ERROR, "Cannot allocate buffer DMA tag\n");
return (ENOMEM);
diff --git a/sys/dev/mps/mps.c b/sys/dev/mps/mps.c
--- a/sys/dev/mps/mps.c
+++ b/sys/dev/mps/mps.c
@@ -1431,7 +1431,8 @@
rsize = sc->reqframesz * sc->num_chains;
bus_dma_template_clone(&t, sc->req_dmat);
BUS_DMA_TEMPLATE_FILL(&t, BD_MAXSIZE(rsize), BD_MAXSEGSIZE(rsize),
- BD_NSEGMENTS(howmany(rsize, PAGE_SIZE)));
+ BD_NSEGMENTS(howmany(rsize, PAGE_SIZE)),
+ BD_BOUNDARY(BUS_SPACE_MAXSIZE_32BIT+1));
if (bus_dma_template_tag(&t, &sc->chain_dmat)) {
mps_dprint(sc, MPS_ERROR, "Cannot allocate chain DMA tag\n");
return (ENOMEM);
@@ -1473,7 +1474,8 @@
BUS_DMA_TEMPLATE_FILL(&t, BD_MAXSIZE(BUS_SPACE_MAXSIZE_32BIT),
BD_NSEGMENTS(nsegs), BD_MAXSEGSIZE(BUS_SPACE_MAXSIZE_24BIT),
BD_FLAGS(BUS_DMA_ALLOCNOW), BD_LOCKFUNC(busdma_lock_mutex),
- BD_LOCKFUNCARG(&sc->mps_mtx));
+ BD_LOCKFUNCARG(&sc->mps_mtx),
+ BD_BOUNDARY(BUS_SPACE_MAXSIZE_32BIT+1));
if (bus_dma_template_tag(&t, &sc->buffer_dmat)) {
mps_dprint(sc, MPS_ERROR, "Cannot allocate buffer DMA tag\n");
return (ENOMEM);

File Metadata

Mime Type
text/plain
Expires
Fri, Jan 30, 7:40 PM (11 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28103826
Default Alt Text
D43008.id131363.diff (2 KB)

Event Timeline