[Top] [All Lists]

Re: [PATCH] usb: gadget: bcm63xx UDC driver

To: Kevin Cernekee <>
Subject: Re: [PATCH] usb: gadget: bcm63xx UDC driver
From: Felipe Balbi <>
Date: Tue, 21 Aug 2012 15:04:19 +0300
In-reply-to: <>
List-archive: <>
List-help: <>
List-id: linux-mips <>
List-owner: <>
List-post: <>
List-software: Ecartis version 1.0.0
List-subscribe: <>
List-unsubscribe: <>
References: <97cb21b8063a02a9664baf8b749ae200@localhost> <> <>
User-agent: Mutt/1.5.21 (2010-09-15)
On Mon, Aug 20, 2012 at 08:48:11PM -0700, Kevin Cernekee wrote:
> On Mon, Aug 20, 2012 at 12:40 AM, Felipe Balbi <> 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?

Because threaded_irqs were added in order to drop such workqueues.
threaded_irqs also have the highest priority possible (only lower than
hardirq handlers), so you'll get scheduled much sooner.

Could it be that most of your deadlocks is because you're not setting


Attachment: signature.asc
Description: Digital signature

<Prev in Thread] Current Thread [Next in Thread>