mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-02-11 06:15:24 +07:00
Regulator: core: Unregister when gpio request fails.
If the gpio_request_one() fails, or returns EPROBE_DEFER, the regulator must be device_unregister()ed. When this is not done, there are WARNING: from sysfs: WARNING: at fs/sysfs/file.c:343 sysfs_open_file+0x238/0x268() Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
6f0c0580b7
commit
b2da55d944
@ -3365,7 +3365,7 @@ regulator_register(const struct regulator_desc *regulator_desc,
|
||||
if (ret != 0) {
|
||||
rdev_err(rdev, "Failed to request enable GPIO%d: %d\n",
|
||||
config->ena_gpio, ret);
|
||||
goto clean;
|
||||
goto wash;
|
||||
}
|
||||
|
||||
rdev->ena_gpio = config->ena_gpio;
|
||||
@ -3449,6 +3449,7 @@ regulator_register(const struct regulator_desc *regulator_desc,
|
||||
if (rdev->ena_gpio)
|
||||
gpio_free(rdev->ena_gpio);
|
||||
kfree(rdev->constraints);
|
||||
wash:
|
||||
device_unregister(&rdev->dev);
|
||||
/* device core frees rdev */
|
||||
rdev = ERR_PTR(ret);
|
||||
|
Loading…
Reference in New Issue
Block a user