David Brownell wrote:

The "problem" was that the buffer passed in URBs was allocated using
pci_alloc_consistent(). When I changed this to kmalloced buffer, it started
working reliably. I'll notify DVB developers about this.
I still don't know why does it *really* oops as the return value of pci_alloc_consistent
was checked and even clearing memset worked OK on it.



See if using usb_buffer_alloc() works better. You could very


Sorry but I'm limited to 2.4 kernels on those devices...

well have been confusing the DMA mapping infrastructure ... among
other things, the USB host controller isn't necessarily on a PCI
bus, and even if it is one you don't have a supported way to get
the relevant PCI device from the USB device.


I believe it is on the only PCI bus in the device, anyway, shouldn't I pass some more
flags in the URB if I use buffer allocated through pci_alloc_consistent vs. kmalloc?


Anyway, it works for me now using kmalloc ;-)
Thanks for your answer.

Nenik



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to