Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] allocate memory for USB URB-buffers



Hi list,

I would like to know which is the common way to allocate memory for the urb-buffer for the USB MPEG-TS-transfer?

Currently I use pci_alloc_consistent (which I copy'n'pasted from ttusb-dec, when I started working on usb drivers). It is working quite well, but with USB2.0 dibusb-devices (eg NOVA-T USB2) there is a problem sometimes:

DiBcom specifies a bulk-transfer-buffersize of 210*188 (39480) bytes in their usb2.0-firmware. I.e. I have to use a buffer of almost 40KB for each URB. Normally I submit 3 URBs, therefore I have to alloc 120KB. This is what fails sometimes:

insmod: page allocation failure. order:4, mode:0x21

I assume this means it is not possible to get free, continous 120KB. Sometimes this even fails with 40KB... (1 URB for test reasons).

If I just reduce the size of the URB Buffer, the device is crashing and the system with it.

Is there a reason why one can't use kmalloc(ATOMIC)? Will it fail as well?

Thanks in advance for enlightening me,
Patrick.

--
Mail: patrick.boettcher@desy.de
WWW: http://www.wi-bw.tfh-wildau.de/~pboettch/




Home | Main Index | Thread Index