summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2010-09-14 20:31:09 +0000
committermarius <marius@FreeBSD.org>2010-09-14 20:31:09 +0000
commit2172eaf47929b2bf67354ac5bf69e9890a3af0ee (patch)
treef0e3f83a1c19e986b1fb8c5dd7d32b9b15ad159b
parentf5db453abefa2813c941f74861528131edc9165e (diff)
downloadFreeBSD-src-2172eaf47929b2bf67354ac5bf69e9890a3af0ee.zip
FreeBSD-src-2172eaf47929b2bf67354ac5bf69e9890a3af0ee.tar.gz
Remove a KASSERT which will also trigger for perfectly valid combinations
of small maxsize and "large" (including BUS_SPACE_UNRESTRICTED) nsegments parameters. Generally using a presz of 0 (which indeed might indicate the use of bogus parameters for DMA tag creation) is not fatal, it just means that no additional DVMA space will be preallocated.
-rw-r--r--sys/sparc64/sparc64/iommu.c3
-rw-r--r--sys/sun4v/sun4v/hviommu.c3
2 files changed, 0 insertions, 6 deletions
diff --git a/sys/sparc64/sparc64/iommu.c b/sys/sparc64/sparc64/iommu.c
index 9d31303..a638e52 100644
--- a/sys/sparc64/sparc64/iommu.c
+++ b/sys/sparc64/sparc64/iommu.c
@@ -874,9 +874,6 @@ iommu_dvmamap_create(bus_dma_tag_t dt, int flags, bus_dmamap_t *mapp)
*/
maxpre = imin(dt->dt_nsegments, IOMMU_MAX_PRE_SEG);
presz = dt->dt_maxsize / maxpre;
- KASSERT(presz != 0, ("%s: bogus preallocation size , nsegments = %d, "
- "maxpre = %d, maxsize = %lu", __func__, dt->dt_nsegments, maxpre,
- dt->dt_maxsize));
for (i = 1; i < maxpre && totsz < IOMMU_MAX_PRE; i++) {
currsz = round_io_page(ulmin(presz, IOMMU_MAX_PRE - totsz));
error = iommu_dvma_valloc(dt, is, *mapp, currsz);
diff --git a/sys/sun4v/sun4v/hviommu.c b/sys/sun4v/sun4v/hviommu.c
index 5724d75..78076e3 100644
--- a/sys/sun4v/sun4v/hviommu.c
+++ b/sys/sun4v/sun4v/hviommu.c
@@ -513,9 +513,6 @@ hviommu_dvmamap_create(bus_dma_tag_t dt, int flags, bus_dmamap_t *mapp)
*/
maxpre = imin(dt->dt_nsegments, IOMMU_MAX_PRE_SEG);
presz = dt->dt_maxsize / maxpre;
- KASSERT(presz != 0, ("hviommu_dvmamap_create: bogus preallocation size "
- ", nsegments = %d, maxpre = %d, maxsize = %lu", dt->dt_nsegments,
- maxpre, dt->dt_maxsize));
for (i = 1; i < maxpre && totsz < IOMMU_MAX_PRE; i++) {
currsz = round_io_page(ulmin(presz, IOMMU_MAX_PRE - totsz));
error = hviommu_dvma_valloc(dt, him, *mapp, currsz);
OpenPOWER on IntegriCloud