mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 13:06:59 +02:00
regulator: core: don't ignore errors from event forwarding setup
Receiving and forwarding critical supply events seems like they're
important information and we shouldn't ignore errors occurring during
registration for such events.
With this change the supply is unset on event registration failure,
allowing us to potentially retry another time.
Fixes: 433e294c3c ("regulator: core: forward undervoltage events downstream by default")
Signed-off-by: André Draszik <andre.draszik@linaro.org>
Link: https://patch.msgid.link/20260109-regulators-defer-v2-6-1a25dc968e60@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
bdbdc4b398
commit
e23c0a59da
|
|
@ -2273,10 +2273,21 @@ static int regulator_resolve_supply(struct regulator_dev *rdev)
|
|||
* under-voltage.
|
||||
*/
|
||||
ret = register_regulator_event_forwarding(rdev);
|
||||
if (ret < 0)
|
||||
if (ret < 0) {
|
||||
struct regulator *supply;
|
||||
|
||||
rdev_warn(rdev, "Failed to register event forwarding: %pe\n",
|
||||
ERR_PTR(ret));
|
||||
|
||||
supply = rdev->supply;
|
||||
rdev->supply = NULL;
|
||||
|
||||
regulator_unlock_two(rdev, supply->rdev, &ww_ctx);
|
||||
|
||||
regulator_put(supply);
|
||||
goto out;
|
||||
}
|
||||
|
||||
regulator_unlock_two(rdev, r, &ww_ctx);
|
||||
|
||||
/* rdev->supply was created in set_supply() */
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user