Hi, On Fri, Dec 06, 2013 at 04:08:21PM -0500, palesius . wrote: > In working on a project (http://github.com/dominicgs/USBProxy) we ran > across an issue where io on endpoint 0 would cause the system to hang. > > We made the following change which resolved the problem for us. I'm > not sure if this is the "correct" fix, or if the problem is specific > to our platform BeagleBone Black with a musb-hrdc controller. > > --- inode.c 2013-11-18 14:46:25.255029000 -0500 > +++ inode.c2 2013-11-19 06:30:36.579029000 -0500 > @@ -679,7 +679,9 @@ > req->length = len; > req->complete = ep_aio_complete; > req->context = iocb; > + spin_unlock_irq(&epdata->dev->lock); > value = usb_ep_queue(epdata->ep, req, GFP_ATOMIC); > + spin_lock_irq(&epdata->dev->lock); usb_ep_queue() should be able to be called from atomic. Do you have some dumps of the problem ? when BBB hangs, can you dump the stack ? (If you're using minicom -> CTRL + A + F + P should work). cheers -- balbi
Attachment:
signature.asc
Description: Digital signature