Re: [PATCH V4] usb: gadget: bcm63xx UDC driver
From: Kevin Cernekee <cernekee@gmail.com>
Date: 2012-08-27 21:35:25
From: Kevin Cernekee <cernekee@gmail.com>
Date: 2012-08-27 21:35:25
On Mon, Aug 27, 2012 at 1:46 PM, Sebastian Andrzej Siewior > One little question: Felipe suggested to replace the workqueue by a threaded
interrupt. You schedule the workqueue in interrupt context and once in ep0 enqueue. The enqueue should be fine by executing one round and waiting for the interrupt. Any reason why you suggested against it?
A couple of rounds could pass with no interrupt, e.g. if a SET_CONFIGURATION request and a SET_INTERFACE request are both pending. Also, I ran into deadlocks when trying to invoke the gadget driver's callback from within the UDC enqueue function. I did attempt it; V2 of the patch had the workqueue removed, but I backed out the change for V3 after seeing so many problems.