Re: Pegasos2 hangs during usb_discover()
Matt Thomas <[email protected]> Wed, 15 Dec 2010 15:44:37 -0800
| Newsgroups | gmane.os.netbsd.ports.powerpc,gmane.os.netbsd.ports.ofppc |
|---|---|
| Message-ID | <[email protected]> |
On Dec 15, 2010, at 2:25 PM, Frank Wille wrote: > Some more information on this problem. Maybe somebody has an idea: > > The Pegasos enters an infinite loop in usb_allocmem() due to a corrupted > usb_frag_freelist entry, which was just allocated in the previous call. > > Probably caused by a USB DMA transfer, the block, offs and next fields of > the head usb_frag_dma node are trashed. This is an uhci controller. > > Is it possible to do USB transfers without DMA for testing? I see not many > possibilities to debug it further. > > USB worked some months ago. No other PPC port seems to be affected. Are > other ofppc (non-Pegasos) machines affected? Any information is welcome. I've found usb_mem.c fragments to be a problem on many ppc. I just checked in a workaround which seems to work for me. Maybe it will work for you. I blame the lack of problem bus_dma for this problem but I have no proof.