> > I don't know what you mean by "bulk_isr()". If you > mean the completion callback,
yes > then it's illegal to > call copy_to_user() in such a context -- they can't > block, as needed to page in memory. this is a software interrupt routine I guess, also called a callback, the context is different than in the rest of the kernel module? I am only intermediate, the copy_to_user needs to block other processes? I guess copy_to_user puts the copy from and copy to memory pages in a page directory? > For an IN transfer the completion handler must > hand the buffer off to something else that can > copy_to_user(). And resubmit that urb using > some other kernel buffer. Actually, resubmitting the URB should only happen if more data is needed. Is there something wrong with the idea of submitting only as many URBs as data read() from user-space? > > > > So, basically make threads for both read and write? > > Whatever it takes, you're the one designing the software. I guess using read and write threads is one possibility of many then... thanks Ted -- Ted Huntington Programmer Analyst I Main Library University of California, Irvine PO Box 19557 Irvine, CA 92623-9557 Phone Bus Off 949 824 8926 Phone MRC 949 824 1674 emesg: [EMAIL PROTECTED] webpage: http://business.lib.uci.edu/webpages/ted.htm "Stop violence, teach science." ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel