Merge series "regulator: fix deadlock vs memory reclaim" from Michał Mirosław <mirq...
authorMark Brown <broonie@kernel.org>
Tue, 18 Aug 2020 16:18:46 +0000 (17:18 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 18 Aug 2020 16:18:46 +0000 (17:18 +0100)
commit4c13f934e335665d05583ac4177321fd8116555f
tree61bf723d243351770eb0b826d5c74e5220dbfa36
parent6a1fe83bf14b87fd8b02f391ea629f69624d9c34
parent2dbf085594370abc1453356518719300d8a7acc1
Merge series "regulator: fix deadlock vs memory reclaim" from Michał Mirosław <mirq-linux@rere.qmqm.pl>:

For systems that have eg. eMMC storage using voltage regulator, memory
reclaim path might call back into regulator subsystem. This means we
have to make sure no allocations happen with a regulator or regulator
list locked.

After this series I see no more lockdep complaints on my test system,
but please review and test further.

First four patches move allocations out of locked regions, next three
came as a drive-by cleanups.

---
v2: fix bug in patch #4 spotted by kernel test robot
    reworded commit #7 description

Michał Mirosław (7):
  regulator: push allocation in regulator_init_coupling() outside of
    lock
  regulator: push allocation in regulator_ena_gpio_request() out of lock
  regulator: push allocations in create_regulator() outside of lock
  regulator: push allocation in set_consumer_device_supply() out of lock
  regulator: plug of_node leak in regulator_register()'s error path
  regulator: cleanup regulator_ena_gpio_free()
  regulator: remove superfluous lock in regulator_resolve_coupling()

 drivers/regulator/core.c | 164 +++++++++++++++++++++------------------
 1 file changed, 87 insertions(+), 77 deletions(-)

--
2.20.1
drivers/regulator/core.c