VIMAGE hang, USB panic

Hans Petter Selasky hselasky at c2i.net
Mon Jul 26 07:12:24 UTC 2010


On Sunday 25 July 2010 16:32:52 Nathaniel W Filardo wrote:
> Speaking of USB hotplug, attaching a micro 4-port hub, I get this (both
> with and without VIMAGE):
> 
> ugen0.2: <vendor 0x05e3> at usbus0
> uhub1: <vendor 0x05e3 USB2.0 Hub, class 9/0, rev 2.00/9.01, addr 2> on
> usbus0
> panic: iommu_dvmamap_create: bogus preallocation size , nsegments = 2,
> maxpre = 2, maxsize = 1
> cpuid = 0
> KDB: stack backtrace:

Hi,

Looks like the following check fails. The allocation size USB requests is 1-
byte. For the check to not fail, we need to request more bytes then the max-
segments parameter specified.

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

Does not look like a problem in the USB stack.

--HPS


More information about the freebsd-sparc64 mailing list