Author: marius
Date: Tue Sep 14 20:31:09 2010
New Revision: 212620
URL: http://svn.freebsd.org/changeset/base/212620

Log:
  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.

Modified:
  head/sys/sparc64/sparc64/iommu.c
  head/sys/sun4v/sun4v/hviommu.c

Modified: head/sys/sparc64/sparc64/iommu.c
==============================================================================
--- head/sys/sparc64/sparc64/iommu.c    Tue Sep 14 19:35:43 2010        
(r212619)
+++ head/sys/sparc64/sparc64/iommu.c    Tue Sep 14 20:31:09 2010        
(r212620)
@@ -874,9 +874,6 @@ iommu_dvmamap_create(bus_dma_tag_t dt, i
         */
        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);

Modified: head/sys/sun4v/sun4v/hviommu.c
==============================================================================
--- head/sys/sun4v/sun4v/hviommu.c      Tue Sep 14 19:35:43 2010        
(r212619)
+++ head/sys/sun4v/sun4v/hviommu.c      Tue Sep 14 20:31:09 2010        
(r212620)
@@ -513,9 +513,6 @@ hviommu_dvmamap_create(bus_dma_tag_t dt,
         */
        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);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to