aboutsummaryrefslogtreecommitdiff
path: root/sys/alpha
diff options
context:
space:
mode:
authorScott Long <scottl@FreeBSD.org>2004-09-09 23:05:01 +0000
committerScott Long <scottl@FreeBSD.org>2004-09-09 23:05:01 +0000
commit152806cc30236402e35f45a253179a81f7208c9e (patch)
treefcd8506e0833df3eb7e8737b0328368aa4b53a39 /sys/alpha
parent735ae3ffeeead8af2b3b05095246837da807fb15 (diff)
Notes
Diffstat (limited to 'sys/alpha')
-rw-r--r--sys/alpha/alpha/busdma_machdep.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/alpha/alpha/busdma_machdep.c b/sys/alpha/alpha/busdma_machdep.c
index 44971671d682..0dc361cf422f 100644
--- a/sys/alpha/alpha/busdma_machdep.c
+++ b/sys/alpha/alpha/busdma_machdep.c
@@ -229,11 +229,11 @@ bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment,
if (parent != NULL) {
newtag->lowaddr = MIN(parent->lowaddr, newtag->lowaddr);
newtag->highaddr = MAX(parent->highaddr, newtag->highaddr);
- /*
- * XXX Not really correct??? Probably need to honor boundary
- * all the way up the inheritence chain.
- */
- newtag->boundary = MAX(parent->boundary, newtag->boundary);
+ if (newtag->boundary == 0)
+ newtag->boundary = parent->boundary;
+ else if (parent->boundary != 0)
+ newtag->boundary = MIN(parent->boundary,
+ newtag->boundary);
if (newtag->filter == NULL) {
/*
* Short circuit looking at our parent directly