mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-06 05:06:29 +00:00
nvmem: core: add error handling for dev_set_name
The type of return value of dev_set_name is int, which may return wrong result, so we add error handling for it to reclaim memory of nvmem resource, and return early when an error occurs. Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20220916122100.170016-4-srinivas.kandagatla@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
4a575865c1
commit
5544e90c81
@ -810,18 +810,24 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config)
|
||||
|
||||
switch (config->id) {
|
||||
case NVMEM_DEVID_NONE:
|
||||
dev_set_name(&nvmem->dev, "%s", config->name);
|
||||
rval = dev_set_name(&nvmem->dev, "%s", config->name);
|
||||
break;
|
||||
case NVMEM_DEVID_AUTO:
|
||||
dev_set_name(&nvmem->dev, "%s%d", config->name, nvmem->id);
|
||||
rval = dev_set_name(&nvmem->dev, "%s%d", config->name, nvmem->id);
|
||||
break;
|
||||
default:
|
||||
dev_set_name(&nvmem->dev, "%s%d",
|
||||
rval = dev_set_name(&nvmem->dev, "%s%d",
|
||||
config->name ? : "nvmem",
|
||||
config->name ? config->id : nvmem->id);
|
||||
break;
|
||||
}
|
||||
|
||||
if (rval) {
|
||||
ida_free(&nvmem_ida, nvmem->id);
|
||||
kfree(nvmem);
|
||||
return ERR_PTR(rval);
|
||||
}
|
||||
|
||||
nvmem->read_only = device_property_present(config->dev, "read-only") ||
|
||||
config->read_only || !nvmem->reg_write;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user