On Tue, Aug 11, 2015 at 03:07:28PM -0500, Bjorn Helgaas wrote: > OK, you're going to have to help me out a bit. There are too many > dots here, and I can't get them all connected. > > Is it a general rule that handlers that call generic_handle_irq() must > use IRQF_NO_THREAD? Yes. > I'm trying to figure out how the writer of a > driver like imx6 is supposed to know to use IRQF_NO_THREAD. > > This patch fixes an error in the driver, so the changelog should say > exactly what the error is. I don't completely understand the lockdep > output, but I think this will be along the lines of: > > Path A disables IRQs in F1 and acquires desc->lock in F2. > Path B acquires desc->lock in F3 with IRQs enabled. > Path B may be interrupted after acquiring desc->lock, and > we may deadlock if we try to acquire desc->lock again in path A. > > Can you sketch this out in the changelog, squash the other driver > patches into this one, and post a v2? Sure. Thanks, Kevin
Attachment:
pgpGFgnvFHhAk.pgp
Description: PGP signature