summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorcth <none@none>2006-01-11 17:29:43 -0800
committercth <none@none>2006-01-11 17:29:43 -0800
commit8a552b2db9c23aa11e42a38ff4a3a9558e186b8d (patch)
tree8e8fbe9302af8537fd0cac83c4b375b775336b94 /usr/src
parent9e344089c4979cd9fc4cf425a1d2b726285aa814 (diff)
downloadillumos-joyent-8a552b2db9c23aa11e42a38ff4a3a9558e186b8d.tar.gz
6370694 ddivs dmae tests cause ASSERT panics on x86.
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/i86pc/io/rootnex.c4
-rw-r--r--usr/src/uts/i86pc/os/ddi_impl.c7
2 files changed, 5 insertions, 6 deletions
diff --git a/usr/src/uts/i86pc/io/rootnex.c b/usr/src/uts/i86pc/io/rootnex.c
index 5cc8ae41c5..69789f49a7 100644
--- a/usr/src/uts/i86pc/io/rootnex.c
+++ b/usr/src/uts/i86pc/io/rootnex.c
@@ -20,7 +20,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -4149,7 +4149,6 @@ rootnex_dma_map(dev_info_t *dip, dev_info_t *rdip, struct ddi_dma_req *dmareq,
* this interface is not supported in 64-bit x86 kernel. See comment in
* rootnex_dma_mctl()
*/
- ASSERT(0);
return (DDI_DMA_NORESOURCES);
#else /* 32-bit x86 kernel */
@@ -4248,7 +4247,6 @@ rootnex_dma_mctl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t handle,
* It wasn't ported to the 64-bit kernel for s10, no reason to change
* that in a future release.
*/
- ASSERT(0);
return (DDI_FAILURE);
#else /* 32-bit x86 kernel */
diff --git a/usr/src/uts/i86pc/os/ddi_impl.c b/usr/src/uts/i86pc/os/ddi_impl.c
index c60ae037e8..ffbfe43ca2 100644
--- a/usr/src/uts/i86pc/os/ddi_impl.c
+++ b/usr/src/uts/i86pc/os/ddi_impl.c
@@ -20,7 +20,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -1313,6 +1313,9 @@ kalloca(size_t size, size_t align, int cansleep, int physcontig,
vmem_t *vmp;
kmem_cache_t *cp = NULL;
+ if (attr->dma_attr_addr_lo > mmu_ptob((uint64_t)ddiphysmin))
+ return (NULL);
+
align = MAX(align, hdrsize);
ASSERT((align & (align - 1)) == 0);
@@ -1334,8 +1337,6 @@ kalloca(size_t size, size_t align, int cansleep, int physcontig,
return (NULL);
}
- ASSERT(attr->dma_attr_addr_lo <= mmu_ptob((uint64_t)ddiphysmin));
-
a = kmem_io_index(attr->dma_attr_addr_hi);
if (rsize > PAGESIZE) {