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.
This commit is contained in:
Marius Strobl 2010-09-14 20:31:09 +00:00
parent 9ab2708c52
commit 4c206df38f
2 changed files with 0 additions and 6 deletions

View file

@ -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);

View file

@ -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);