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:
parent
f5db453abe
commit
2172eaf479
@ -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);
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user