All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steve Twiss <stwiss.opensource@diasemi.com>
To: Liam Girdwood <lgirdwood@gmail.com>, Mark Brown <broonie@kernel.org>
Cc: Support Opensource <support.opensource@diasemi.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Cirrus Patches <patches@opensource.cirrus.com>
Subject: [PATCH 13/13] regulator: wm831x ldo: Fix notifier mutex lock warning
Date: Tue, 26 Feb 2019 15:54:01 +0000	[thread overview]
Message-ID: <f2a9f1b5ced38ac25303fbe746022f00b8b17ce7.1551808797.git.stwiss.opensource@diasemi.com> (raw)
In-Reply-To: <cover.1551808797.git.stwiss.opensource@diasemi.com>

The mutex for the regulator_dev must be controlled by the caller of
the regulator_notifier_call_chain(), as described in the comment
for that function.

Failure to mutex lock and unlock surrounding the notifier call results
in a kernel WARN_ON_ONCE() which will dump a backtrace for the
regulator_notifier_call_chain() when that function call is first made.
The mutex can be controlled using the regulator_lock/unlock() API.

Fixes: d1c6b4fe668b ("regulator: Add WM831x LDO support")
Suggested-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Steve Twiss <stwiss.opensource@diasemi.com>
---
 drivers/regulator/wm831x-ldo.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/regulator/wm831x-ldo.c b/drivers/regulator/wm831x-ldo.c
index e4a6f88..fcd038e 100644
--- a/drivers/regulator/wm831x-ldo.c
+++ b/drivers/regulator/wm831x-ldo.c
@@ -51,9 +51,11 @@ static irqreturn_t wm831x_ldo_uv_irq(int irq, void *data)
 {
 	struct wm831x_ldo *ldo = data;
 
+	regulator_lock(ldo->regulator);
 	regulator_notifier_call_chain(ldo->regulator,
 				      REGULATOR_EVENT_UNDER_VOLTAGE,
 				      NULL);
+	regulator_unlock(ldo->regulator);
 
 	return IRQ_HANDLED;
 }
-- 
1.9.3


  parent reply	other threads:[~2019-03-05 18:09 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-05 17:59 [PATCH 00/13] Fix backtrace warnings from bad notifier chain calls Steve Twiss
2019-02-26 14:59 ` [PATCH 01/13] regulator: da9055: Fix notifier mutex lock warning Steve Twiss
2019-02-26 15:19 ` [PATCH 02/13] regulator: da9062: " Steve Twiss
2019-02-26 15:23 ` [PATCH 03/13] regulator: da9063: " Steve Twiss
2019-02-26 15:27 ` [PATCH 04/13] regulator: da9211: " Steve Twiss
2019-02-26 15:32 ` [PATCH 05/13] regulator: lp8755: " Steve Twiss
2019-02-26 15:35 ` [PATCH 06/13] regulator: ltc3589: " Steve Twiss
2019-02-26 15:38 ` [PATCH 07/13] regulator: ltc3676: " Steve Twiss
2019-02-26 15:42 ` [PATCH 08/13] regulator: pv88060: " Steve Twiss
2019-02-26 15:44 ` [PATCH 09/13] regulator: pv88080: " Steve Twiss
2019-02-26 15:46 ` [PATCH 10/13] regulator: pv88090: " Steve Twiss
2019-02-26 15:48 ` [PATCH 11/13] regulator: wm831x: " Steve Twiss
2019-03-06  9:27   ` Charles Keepax
2019-02-26 15:51 ` [PATCH 12/13] regulator: wm831x isink: " Steve Twiss
2019-03-06  9:28   ` Charles Keepax
2019-02-26 15:54 ` Steve Twiss [this message]
2019-03-06  9:28   ` [PATCH 13/13] regulator: wm831x ldo: " Charles Keepax

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=f2a9f1b5ced38ac25303fbe746022f00b8b17ce7.1551808797.git.stwiss.opensource@diasemi.com \
    --to=stwiss.opensource@diasemi.com \
    --cc=broonie@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=patches@opensource.cirrus.com \
    --cc=support.opensource@diasemi.com \
    /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.