2020-12-04 07:46:13

by Xu Wang

[permalink] [raw]
Subject: [PATCH] i2c: mlxbf: Fix an error pointer vs NULL check

In case of error, the function devm_ioremap() returns NULL pointer not
ERR_PTR(). The IS_ERR() test in the return value check should be
replaced with NULL test.

Signed-off-by: Xu Wang <[email protected]>
---
drivers/i2c/busses/i2c-mlxbf.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/i2c/busses/i2c-mlxbf.c b/drivers/i2c/busses/i2c-mlxbf.c
index 33574d40ea9c..73a58beb7b82 100644
--- a/drivers/i2c/busses/i2c-mlxbf.c
+++ b/drivers/i2c/busses/i2c-mlxbf.c
@@ -1258,9 +1258,9 @@ static int mlxbf_i2c_get_gpio(struct platform_device *pdev,
return -EFAULT;

gpio_res->io = devm_ioremap(dev, params->start, size);
- if (IS_ERR(gpio_res->io)) {
+ if (!gpio_res->io) {
devm_release_mem_region(dev, params->start, size);
- return PTR_ERR(gpio_res->io);
+ return -ENOMEM;
}

return 0;
@@ -1323,9 +1323,9 @@ static int mlxbf_i2c_get_corepll(struct platform_device *pdev,
return -EFAULT;

corepll_res->io = devm_ioremap(dev, params->start, size);
- if (IS_ERR(corepll_res->io)) {
+ if (!corepll_res->io) {
devm_release_mem_region(dev, params->start, size);
- return PTR_ERR(corepll_res->io);
+ return -ENOMEM;
}

return 0;
--
2.17.1


2020-12-05 01:42:00

by Khalil Blaiech

[permalink] [raw]
Subject: RE: [PATCH] i2c: mlxbf: Fix an error pointer vs NULL check



> In case of error, the function devm_ioremap() returns NULL pointer not
> ERR_PTR(). The IS_ERR() test in the return value check should be
> replaced with NULL test.
>
> Signed-off-by: Xu Wang <[email protected]>

Thank you very much for your patch. Please note that previous patch
has been posted to address this issue.

> ---
> drivers/i2c/busses/i2c-mlxbf.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-mlxbf.c b/drivers/i2c/busses/i2c-mlxbf.c
> index 33574d40ea9c..73a58beb7b82 100644
> --- a/drivers/i2c/busses/i2c-mlxbf.c
> +++ b/drivers/i2c/busses/i2c-mlxbf.c
> @@ -1258,9 +1258,9 @@ static int mlxbf_i2c_get_gpio(struct
> platform_device *pdev,
> return -EFAULT;
>
> gpio_res->io = devm_ioremap(dev, params->start, size);
> - if (IS_ERR(gpio_res->io)) {
> + if (!gpio_res->io) {
> devm_release_mem_region(dev, params->start, size);
> - return PTR_ERR(gpio_res->io);
> + return -ENOMEM;
> }
>
> return 0;
> @@ -1323,9 +1323,9 @@ static int mlxbf_i2c_get_corepll(struct
> platform_device *pdev,
> return -EFAULT;
>
> corepll_res->io = devm_ioremap(dev, params->start, size);
> - if (IS_ERR(corepll_res->io)) {
> + if (!corepll_res->io) {
> devm_release_mem_region(dev, params->start, size);
> - return PTR_ERR(corepll_res->io);
> + return -ENOMEM;
> }
>
> return 0;
> --
> 2.17.1