Messages in this thread |  | | Subject | Re: [PATCH v3] nvmem: fix nvmem_cell_get_from_lookup() | From | Srinivas Kandagatla <> | Date | Wed, 3 Oct 2018 09:28:09 +0100 |
| |
On 03/10/18 08:31, Bartosz Golaszewski wrote: > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > 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>
> --- > v1 -> v2: > - use ERR_CAST() instead of a direct pointer cast > > v2 -> v3: > - added the Reported-by tag > > drivers/nvmem/core.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c > index ad1227df1984..f49474e1ad49 100644 > --- a/drivers/nvmem/core.c > +++ b/drivers/nvmem/core.c > @@ -952,9 +952,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; > } > > @@ -962,6 +962,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; > } > } >
|  |