Dear Benoît Thébaudeau, > Hi Marek, > > On Tuesday, May 14, 2013 4:13:33 AM, Marek Vasut wrote: > > Dear Bo Shen, > > > > > Hi Marek, > > > > > > On 5/13/2013 23:12, Marek Vasut wrote: > > > > 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 ? > > > > > > Yes, that's true, all TDs are used. Nowhere free them, so I use > > > urb_free_priv() to free urb in sohci_return_job() instead of > > > td_submit_job(), then it works well. > > > > Benoit, you were the last one to plumb in it, right? > > No. That was for EHCI, not OHCI.
Hmmm ... I don't have any OHCI device. Bo, maybe you can try tracing it and fixing it? Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot