nvmem: fix nvmem_cell_get_from_lookup()
We check if the pointer returned by __nvmem_device_get() is not NULL while we should actually check if it is not IS_ERR(nvmem). Fix it. While we're at it: fix the next error path where we should assign an error value to cell before returning. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
badcdff107
commit
cccb3b19e7
|
@ -953,9 +953,9 @@ nvmem_cell_get_from_lookup(struct device *dev, const char *con_id)
|
|||
(strcmp(lookup->con_id, con_id) == 0)) {
|
||||
/* This is the right entry. */
|
||||
nvmem = __nvmem_device_get(NULL, lookup->nvmem_name);
|
||||
if (!nvmem) {
|
||||
if (IS_ERR(nvmem)) {
|
||||
/* Provider may not be registered yet. */
|
||||
cell = ERR_PTR(-EPROBE_DEFER);
|
||||
cell = ERR_CAST(nvmem);
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
@ -963,6 +963,7 @@ nvmem_cell_get_from_lookup(struct device *dev, const char *con_id)
|
|||
lookup->cell_name);
|
||||
if (!cell) {
|
||||
__nvmem_device_put(nvmem);
|
||||
cell = ERR_PTR(-ENOENT);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user