[linux-dvb] FYI: CinergyT2 and embeded enviroment

Ralph Metzler rjkm at metzlerbros.de
Mon Mar 21 01:44:13 CET 2005


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




More information about the linux-dvb mailing list