Insufficient memory reserved for xfer->dma_page_ptr?
Hans Petter Selasky
hselasky at c2i.net
Wed Feb 20 07:35:53 UTC 2013
On Tuesday 19 February 2013 23:26:19 Aman Sawrup wrote:
> I believe the amount of memory reserved needs to be much higher. For
> example, if sizeof(struct usb_page) is 16 bytes, then for n_frbuffers of
> 128 and parm->bufsize of 131072, we need the following amount of memory
> reserved:
>
> parm->bufsize / USB_PAGE_SIZE * n_frbuffers * sizeof(struct usb_page)
> = 131072 / 4096 * 128 * 16
> = 65536
Hi,
The parm->bufsize is shared for all frbuffers, so the formula should be
correct. In your computation you assume that parm->bufsize gives the maximum
for each frbuffer. That is not the case.
That means, when you configure bufsize, you must not exceed that size as a
total when setting up frames. This include all transfer types. I think there
are asserts for that so you should get a panic fairly quickly.
--HPS
More information about the freebsd-usb
mailing list