Message ID | 20190123065827.16748-1-yuehaibing@huawei.com |
---|---|
State | Accepted |
Delegated to: | Boris Brezillon |
Headers | show |
Series | [-next] mtd: docg3: Fix passing zero to 'PTR_ERR' warning in doc_probe_device | expand |
On Wed, 23 Jan 2019 14:58:27 +0800 YueHaibing <yuehaibing@huawei.com> wrote: > Fix a static code checker warning: > drivers/mtd/devices/docg3.c:1875 > doc_probe_device() warn: passing zero to 'ERR_PTR' > > Fixes: ae9d4934b2d7 ("mtd: docg3: add multiple floor support") > Signed-off-by: YueHaibing <yuehaibing@huawei.com> > --- > drivers/mtd/devices/docg3.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c > index 4c94fc0..60ddc38 100644 > --- a/drivers/mtd/devices/docg3.c > +++ b/drivers/mtd/devices/docg3.c > @@ -1872,7 +1872,7 @@ doc_probe_device(struct docg3_cascade *cascade, int floor, struct device *dev) > nomem2: > kfree(docg3); > nomem1: > - return ERR_PTR(ret); > + return ret ? ERR_PTR(ret) : NULL; > } > This is not the right fix, you should instead set ret to -EINVAL: --->8--- diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c index 4c94fc096696..6b84db411232 100644 --- a/drivers/mtd/devices/docg3.c +++ b/drivers/mtd/devices/docg3.c @@ -1842,7 +1842,7 @@ doc_probe_device(struct docg3_cascade *cascade, int floor, struct device *dev) chip_id = doc_register_readw(docg3, DOC_CHIPID); chip_id_inv = doc_register_readw(docg3, DOC_CHIPID_INV); - ret = 0; + ret = -ENOMEM; if (chip_id != (u16)(~chip_id_inv)) { goto nomem4; }
On 2019/1/23 17:12, Boris Brezillon wrote: > On Wed, 23 Jan 2019 14:58:27 +0800 > YueHaibing <yuehaibing@huawei.com> wrote: > >> Fix a static code checker warning: >> drivers/mtd/devices/docg3.c:1875 >> doc_probe_device() warn: passing zero to 'ERR_PTR' >> >> Fixes: ae9d4934b2d7 ("mtd: docg3: add multiple floor support") >> Signed-off-by: YueHaibing <yuehaibing@huawei.com> >> --- >> drivers/mtd/devices/docg3.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c >> index 4c94fc0..60ddc38 100644 >> --- a/drivers/mtd/devices/docg3.c >> +++ b/drivers/mtd/devices/docg3.c >> @@ -1872,7 +1872,7 @@ doc_probe_device(struct docg3_cascade *cascade, int floor, struct device *dev) >> nomem2: >> kfree(docg3); >> nomem1: >> - return ERR_PTR(ret); >> + return ret ? ERR_PTR(ret) : NULL; >> } >> > > This is not the right fix, you should instead set ret to -EINVAL: Thanks , will fix it in v2. And seems doc_probe_device cannot return NULL. The NULL check of doc_probe_device in docg3_probe also can been removed, right? > > --->8--- > diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c > index 4c94fc096696..6b84db411232 100644 > --- a/drivers/mtd/devices/docg3.c > +++ b/drivers/mtd/devices/docg3.c > @@ -1842,7 +1842,7 @@ doc_probe_device(struct docg3_cascade *cascade, int floor, struct device *dev) > chip_id = doc_register_readw(docg3, DOC_CHIPID); > chip_id_inv = doc_register_readw(docg3, DOC_CHIPID_INV); > > - ret = 0; > + ret = -ENOMEM; > if (chip_id != (u16)(~chip_id_inv)) { > goto nomem4; > } > > . >
On Wed, 23 Jan 2019 17:43:58 +0800 YueHaibing <yuehaibing@huawei.com> wrote: > On 2019/1/23 17:12, Boris Brezillon wrote: > > On Wed, 23 Jan 2019 14:58:27 +0800 > > YueHaibing <yuehaibing@huawei.com> wrote: > > > >> Fix a static code checker warning: > >> drivers/mtd/devices/docg3.c:1875 > >> doc_probe_device() warn: passing zero to 'ERR_PTR' > >> > >> Fixes: ae9d4934b2d7 ("mtd: docg3: add multiple floor support") > >> Signed-off-by: YueHaibing <yuehaibing@huawei.com> > >> --- > >> drivers/mtd/devices/docg3.c | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c > >> index 4c94fc0..60ddc38 100644 > >> --- a/drivers/mtd/devices/docg3.c > >> +++ b/drivers/mtd/devices/docg3.c > >> @@ -1872,7 +1872,7 @@ doc_probe_device(struct docg3_cascade *cascade, int floor, struct device *dev) > >> nomem2: > >> kfree(docg3); > >> nomem1: > >> - return ERR_PTR(ret); > >> + return ret ? ERR_PTR(ret) : NULL; > >> } > >> > > > > This is not the right fix, you should instead set ret to -EINVAL: > > Thanks , will fix it in v2. > > And seems doc_probe_device cannot return NULL. The NULL check of doc_probe_device > in docg3_probe also can been removed, right? Hm, looks like the ret = 0 was intentional (to identify when ID is invalid). Let's just keep your initial patch.
Boris Brezillon <bbrezillon@kernel.org> writes: > On Wed, 23 Jan 2019 17:43:58 +0800 > YueHaibing <yuehaibing@huawei.com> wrote: > >> On 2019/1/23 17:12, Boris Brezillon wrote: >> > On Wed, 23 Jan 2019 14:58:27 +0800 >> > YueHaibing <yuehaibing@huawei.com> wrote: >> > >> >> Fix a static code checker warning: >> >> drivers/mtd/devices/docg3.c:1875 >> >> doc_probe_device() warn: passing zero to 'ERR_PTR' >> >> >> >> Fixes: ae9d4934b2d7 ("mtd: docg3: add multiple floor support") >> >> Signed-off-by: YueHaibing <yuehaibing@huawei.com> >> >> --- >> >> drivers/mtd/devices/docg3.c | 2 +- >> >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> >> >> diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c >> >> index 4c94fc0..60ddc38 100644 >> >> --- a/drivers/mtd/devices/docg3.c >> >> +++ b/drivers/mtd/devices/docg3.c >> >> @@ -1872,7 +1872,7 @@ doc_probe_device(struct docg3_cascade *cascade, int floor, struct device *dev) >> >> nomem2: >> >> kfree(docg3); >> >> nomem1: >> >> - return ERR_PTR(ret); >> >> + return ret ? ERR_PTR(ret) : NULL; >> >> } >> >> >> > >> > This is not the right fix, you should instead set ret to -EINVAL: >> >> Thanks , will fix it in v2. >> >> And seems doc_probe_device cannot return NULL. The NULL check of doc_probe_device >> in docg3_probe also can been removed, right? > > Hm, looks like the ret = 0 was intentional (to identify when ID is > invalid). Let's just keep your initial patch. Indeed, that's for the multiple floor configuration if I remember correctly. Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> Cheers.
On Wed, 2019-01-23 at 06:58:27 UTC, YueHaibing wrote: > Fix a static code checker warning: > drivers/mtd/devices/docg3.c:1875 > doc_probe_device() warn: passing zero to 'ERR_PTR' > > Fixes: ae9d4934b2d7 ("mtd: docg3: add multiple floor support") > Signed-off-by: YueHaibing <yuehaibing@huawei.com> > Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> Applied to http://git.infradead.org/linux-mtd.git mtd/next, thanks. Boris
diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c index 4c94fc0..60ddc38 100644 --- a/drivers/mtd/devices/docg3.c +++ b/drivers/mtd/devices/docg3.c @@ -1872,7 +1872,7 @@ doc_probe_device(struct docg3_cascade *cascade, int floor, struct device *dev) nomem2: kfree(docg3); nomem1: - return ERR_PTR(ret); + return ret ? ERR_PTR(ret) : NULL; } /**
Fix a static code checker warning: drivers/mtd/devices/docg3.c:1875 doc_probe_device() warn: passing zero to 'ERR_PTR' Fixes: ae9d4934b2d7 ("mtd: docg3: add multiple floor support") Signed-off-by: YueHaibing <yuehaibing@huawei.com> --- drivers/mtd/devices/docg3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)