[U-Boot] Question: issues for usb keyboard work with OHCI HCD

Marek Vasut
2013-05-13T15:12:17Z

Dear Bo Shen,

> Hi All,
>
> On 5/6/2013 11:01, Bo Shen wrote:
> > Hi Marek,
> >
> > On 5/3/2013 21:40, Marek Vasut wrote:
> >> Dear Bo Shen,
> >>
> >>> Hi All,
> >>>
> >>> Now, I test usb host support with Atmel boards, for example,
> >>>
> >>> at91sam9x5ek board.
> >>>
> >>> When test OHCI USB host with usb keyboard. I meet the following
> >>>
> >>> issue.
> >>> --->8---
> >>> U-Boot 2013.04-dirty (May 03 2013 - 11:00:34)
> >>>
> >>> CPU: AT91SAM9G35
> >>> Crystal frequency: 12 MHz
> >>> CPU clock : 400 MHz
> >>> Master clock : 133.333 MHz
> >>> DRAM: 128 MiB
> >>> WARNING: Caches not enabled
> >>> NAND: 256 MiB
> >>> MMC: mci: 0
> >>> In: serial
> >>> Out: serial
> >>> Err: serial
> >>> Net: macb0
> >>> Hit any key to stop autoboot: 0
> >>> U-Boot> usb start
> >>> (Re)start USB...
> >>> USB0: scanning bus 0 for devices... 2 USB Device(s) found
> >>>
> >>> scanning usb for storage devices... 0 Storage Device(s) found
> >>>
> >>> U-Boot> setenv stdin usbkbd
> >>> U-Boot> ERROR: sohci_submit_job: ENOMEM
> >>> ERROR: sohci_submit_job failed
> >>> ... ...
> >>> (repeat to print these two error line)
> >>
> >> So the USB subsystem is leaking memory? Or do you only have too small
> >> MALLOC
> >> area?
> >
> > I am not sure whether USB subsystem is leaking memory. I am digging it.
> >
> > This issue is not relative with MALLOC area.
> > This issue come out when all ptd[i].usb_dev (the maximum value of i is
> > 64) is not NULL. Each time to call td_alloc, it will check whether
> > ptd[i].usb_dev is NULL (i from 0 to 63), if not find one of
> > ptd[i].usb_dev is NULL, then report ENOMEM.
>
> All clue for this issue?

I assume you mean the TDs are all used up then? Are they not free'd ?

Best regards,
Marek Vasut