On Mon, Aug 20, 2012 at 12:40 AM, Felipe Balbi <balbi@xxxxxx> wrote: > no workqueues, please either handle the IRQ here or use threaded_irqs. > > again, no workqueues. Felipe, I am seeing all sorts of deadlocks now, after removing the workqueue (patch V2). Some have easy fixes, but for others it is not as obvious. The code was much simpler when I could just trigger a deferred worker function. Workqueues are used in at91_udc, lpc32xx_udc, mv_udc_core, and pch_udc. Could you please clarify why it is not OK to use one in bcm63xx_udc? Thanks.