Petr Nejedly writes: > I was trying to make CinergyT2 working on on two embeded boxes, > LinkSys NSLU2 and Asus WL500gx (both have USB2.0 HCD, one from > VIA, other one from NEC), but it oopsed kernel on both of them as soon > as it started transfer of the TS data. Is this on a 2.6 or a 2.4 kernel? Or my question rather is, is there a 2.6 port for those devices yet? > After several sleepless nights, I've hacked together a simplified driver > (mimicking the original one) that doesn't oops and is able to provide > full TS stream > on these devices. The only important difference is that I allocate the > URB buffers > using kmalloc, while the original driver does pci_alloc_consistent. > If I use pci_alloc_consistent, my driver starts to oops the kernel as well, > although the memory region seems to be allocated right. Hmm, is this somehow broken on MIPS? Which kernel? > Does the original driver really need to allocate the buffers this way? I > haven't seen > any other USB driver doing so (except ttusb-budget from the same author, > which > fails in such embeded enviroment as well, although w/o crash, just > getting zeroed > buffers from ISOC instead of real data). > > I haven't tried using kmalloc instead of pci_alloc_consistent on my x86 > desktop > yet but should it work, wouldn't it be better to rewrite the driver to > use kmalloc? No, it should use usb_buffer_alloc, which does the right thing for each platform and controller (either kmalloc or dma_alloc_coherent). I think if you use kmalloc for all platforms you might run into trouble with cache inconsistencies on some of them. Ralph