nvmem: check the return value of nvmem_add_cells()

This function can fail so check its return value in nvmem_register()
and act accordingly.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Bartosz Golaszewski 2018-09-21 06:40:07 -07:00 committed by Greg Kroah-Hartman
parent f9fcb7e36c
commit fa72d847d6

View File

@ -512,11 +512,17 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config)
goto err_device_del; goto err_device_del;
} }
if (config->cells) if (config->cells) {
nvmem_add_cells(nvmem, config->cells, config->ncells); rval = nvmem_add_cells(nvmem, config->cells, config->ncells);
if (rval)
goto err_teardown_compat;
}
return nvmem; return nvmem;
err_teardown_compat:
if (config->compat)
device_remove_bin_file(nvmem->base_dev, &nvmem->eeprom);
err_device_del: err_device_del:
device_del(&nvmem->dev); device_del(&nvmem->dev);
err_put_device: err_put_device: