Am Samstag, 25. September 2004 07:42 schrieb justin:
> static void bally_read_bulk_callback (struct urb *purb)
> {
> � struct usb_bally *dev = (struct usb_bally *)purb->context;
> � int result = 0;
> �
> � // if interrupted, just return
> � if (purb->status == -ENOENT)
> � {
> � � return;
> � }
> �
> � dbg("adding %d to ringbuf", purb->actual_length);
> �
> � // add the data to the ringbuffer
> � down(&dev->mutex);
You must not use down() in the context of a callback. It may
deadlock.
> � ringbuf_add(&dev->ringbuffer, purb->transfer_buffer, purb->actual_length);
> � up(&dev->mutex);
HTH
Oliver
-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel