summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/regulator
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2022-07-20 17:09:33 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-08-25 11:40:26 +0200
commit09e512a659e4b6782096bd6ad25a52275954221e (patch)
tree637c83854475eb08c8906a9d641b8d6ed44768b4 /Documentation/devicetree/bindings/regulator
parentb4ac11967e8c28d032f369d506c54fc9f0624e4a (diff)
i2c: imx: Make sure to unregister adapter on remove()
commit d98bdd3a5b50446d8e010be5b04ce81c4eabf728 upstream. If for whatever reasons pm_runtime_resume_and_get() fails and .remove() is exited early, the i2c adapter stays around and the irq still calls its handler, while the driver data and the register mapping go away. So if later the i2c adapter is accessed or the irq triggers this results in havoc accessing freed memory and unmapped registers. So unregister the software resources even if resume failed, and only skip the hardware access in that case. Fixes: 588eb93ea49f ("i2c: imx: add runtime pm support to improve the performance") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by: Oleksij Rempel <o.rempel@pengutronix.de> Signed-off-by: Wolfram Sang <wsa@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'Documentation/devicetree/bindings/regulator')
0 files changed, 0 insertions, 0 deletions