On Thu, 23 Mar 2006, Oliver Neukum wrote:

> Am Donnerstag, 23. März 2006 23:12 schrieb Alisdair Davey:
> > Currently all I need to do is make sure I can get out a single image we
> > can look at. A single image consists of 2097152 bytes. If I run the
> > userspace program with the machine in single user mode I seem to be able
> > to do this [I've yet to confirm what I'm pulling off is an image as
> > opposed to empty bytes!]. However when I boot it to multiuser mode, the
> > system dies. Primarily it starts by hanging all the X-window stuff but
> > eventually everythig grinds to a halt. There doesn't seem to be anything
> > in the kernel log though. I've traced the problem to the raise_read
> > subroutine at the point at which I use usb_bulk_msg to get the data. I'm
> > obviously missing something and I frankly don't know what.
> 
> You should not use usb_bulk_msg() to transfer 500K in one go.
> Use a reasonable buffer, eg. 16K, and several URBs.

In addition, you cannot allocate a USB transfer buffer using vmalloc().  
You must use kmalloc() or an equivalent routine.

Alan Stern



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to