Date: Mon, 26 Jul 2010 08:59:20 +0200 From: Hans Petter Selasky <hselasky@c2i.net> To: freebsd-sparc64@freebsd.org Cc: Nathaniel W Filardo <nwf@cs.jhu.edu> Subject: Re: VIMAGE hang, USB panic Message-ID: <201007260859.20501.hselasky@c2i.net> In-Reply-To: <20100725143252.GV21929@gradx.cs.jhu.edu> References: <20100725143252.GV21929@gradx.cs.jhu.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201007260859.20501.hselasky>
