[linux-dvb] NSLU2 dma_free_coherent issue with DIB0700 driver (and probably others)

Lee Essen lee.essen at nowonline.co.uk
Thu Apr 3 12:48:05 CEST 2008


Hi,

Apologies if this is directed in the wrong place, as I suspect this is  
more of a kernel/USB issue than a DVB driver issue, but it does have  
an impact on people wanting to use this device with an NSLU2 (and I  
suspect it will also be a problem with many other devices.)

I have been experimenting using a variety of DVB-T USB devices with an  
NSLU2 with my ultimate aim being to build in a dual DVB-T device into  
the case and use it in very much the same way as the HDHomeRun device.

Using a DTT200U based device everything worked perfectly.

Then I started playing with a DIB0700 based device (actually an Elgato  
Eye-TV Diversity) and the system would just hang whenever I started  
using dvbstream, I got slightly different behaviour if I tried to tune  
it to an invalid frequency and eventually managed to get to a state  
when I could interrupt it before it completely locked up.

It seems that the driver was flagging an issue in the ARM architecture  
around not calling dma_free_coherent() with IRQ's disabled, apparently  
a warning was recently added to the ARM kernel so it logs a message  
and a stack trace each time ... this seemed to be happening so  
frequently it effectively locked the system up.

I did a little digging, but I'm not a kernel expert at all, and it  
seems that the ehci_hcd module is actually where the call is  
originating rather than the DVB driver itself, so I suspect that this  
will actually effect a significant number of the drivers when used on  
an ARM platform.

For the purposes of testing I removed the warning (from arch/arm/mm/ 
consistent line 363) and everything is fine, the driver operates  
perfectly and I can stream video nicely. BUT - clearly there is some  
kind of issue here that needs to be resolved.

More information is available at the link below, and also I have read  
comments suggesting that the issue has been discussed on the arm- 
kernel mailing list but that no resolution has yet been found.

http://forum.soft32.com/linux/ehci_hcd-map_single-unable-map-unsafe-buffer-standard-NSLU2-ftopict461241.html

For reference I'm using 2.6.24 and have tried the most recent drivers  
from linuxtv.org as well as a variety of others -- all seem to have  
the same problem (which is expected if the problem is actually in the  
USB system.)

Hope this is useful,

Lee.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.linuxtv.org/pipermail/linux-dvb/attachments/20080403/35cada02/attachment.htm 


More information about the linux-dvb mailing list