Subject: [BUG] pxa27x_udc: possible recursive locking detected in pxa_ep_queue

From: [email-masked] (Robert Jarzmik)
Date: Thu, 10 Dec 2009 18:49:31 +0100

David Brownell <[email-masked]> writes:

> On Sunday 06 December 2009, Robert Jarzmik wrote:
> Dropping the lock before complete() is exactly the right thing to do.
Good, just as Alan said too.

> But make sure your ep_queue() method understands that sometimes it's
> only supposed to *queue* and not activate tx/rx.
Yes, I understand. A kind of atomic count, on all methods called from gadget,
which prevents reentrance (ie. no chains queue()->...->complete()->queue()).

As I have a bit of luck, all transfers are triggered through handle_ep(), which
if not called won't trigger any rx/tx (if counter was incremented).

Thanks for the info.

--
Robert