From: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Lee Jones <lee.jones@linaro.org>, <linux-kernel@vger.kernel.org>,
<patches@opensource.wolfsonmicro.com>
Subject: Re: [PATCH RESEND] mfd: arizona: Fix lockdep recursion warning on set_irq_wake
Date: Thu, 24 Mar 2016 15:35:25 +0000 [thread overview]
Message-ID: <20160324153525.GM1490@localhost.localdomain> (raw)
In-Reply-To: <alpine.DEB.2.11.1603241355110.3978@nanos>
On Thu, Mar 24, 2016 at 01:56:52PM +0100, Thomas Gleixner wrote:
> On Thu, 24 Mar 2016, Lee Jones wrote:
>
> > FAO Thomas
> >
> > > Lockdep explicitly sets all the irq_desc locks as a single lock-class,
> > > which causes a "possible recursive locking detected" warning when we
> > > attempt to propagate the IRQ wake to our parent IRQ in
> > > arizona_irq_set_wake. Although this appears to be a false positive
> > > because an IRQ is unlikely to be its own parent, this was clearly
> > > intentionally prohibited.
> > >
> > > To avoid this lockdep warning, take a cue from the regmap-irq system,
> > > and add bus lock callbacks on the IRQ chip and propagate the wake in
> > > the bus unlock which will happen after the desc lock has been released
> > > and thus avoid the issue.
> >
> > This looks like a hack to me. I'd like Thomas (Cc'ed) to look it over.
>
> irq_set_lockdep_class() exists for a reason. See kernel/irq/generic-chip.c or
> drivers/gpio/gpiolib.c for examples.
Apologies for missing that. Thanks guys I will have a look and
respin the patch.
Thanks,
Charles
prev parent reply other threads:[~2016-03-24 15:35 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-10 10:16 [PATCH RESEND] mfd: arizona: Fix lockdep recursion warning on set_irq_wake Charles Keepax
[not found] ` <20160324123618.GB3496@x1>
2016-03-24 12:44 ` Lee Jones
2016-03-24 12:56 ` Thomas Gleixner
2016-03-24 15:35 ` Charles Keepax [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160324153525.GM1490@localhost.localdomain \
--to=ckeepax@opensource.wolfsonmicro.com \
--cc=lee.jones@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=patches@opensource.wolfsonmicro.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.