From: Linus Torvalds Date: Fri, 23 Dec 2022 22:38:00 +0000 (-0800) Subject: Merge tag 'regulator-fix-v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git... X-Git-Tag: v6.2-rc1~3 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=0a023cbb11e3d05c39dbb67317cb77ef22d47404;hp=2c91ce92c6d99fe8ed0fde2e67c19d40f062e8a3;p=linux-block.git Merge tag 'regulator-fix-v6.2-rc1' of git://git./linux/kernel/git/broonie/regulator Pull regulator fixes from Mark Brown: "Two core fixes here, one for a long standing race which some Qualcomm systems have started triggering with their UFS driver and another fixing a problem with supply lookup introduced by the fixes for devm related use after free issues that were introduced in this merge window" * tag 'regulator-fix-v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: regulator: core: fix deadlock on regulator enable regulator: core: Fix resolve supply lookup issue --- diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index ace4ecc6d7c2..ae69e493913d 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -1002,7 +1002,7 @@ static int drms_uA_update(struct regulator_dev *rdev) /* get input voltage */ input_uV = 0; if (rdev->supply) - input_uV = regulator_get_voltage(rdev->supply); + input_uV = regulator_get_voltage_rdev(rdev->supply->rdev); if (input_uV <= 0) input_uV = rdev->constraints->input_uV; @@ -5540,7 +5540,7 @@ regulator_register(struct device *dev, /* register with sysfs */ rdev->dev.class = ®ulator_class; - rdev->dev.parent = dev; + rdev->dev.parent = config->dev; dev_set_name(&rdev->dev, "regulator.%lu", (unsigned long) atomic_inc_return(®ulator_no)); dev_set_drvdata(&rdev->dev, rdev);