[v5,05/13] iio: inkern: Remove the 'unused' variable usage in iio_channel_read_max()

Message ID 20230615152631.224529-6-herve.codina@bootlin.com
State New
Headers
Series Add support for IIO devices in ASoC |

Commit Message

Herve Codina June 15, 2023, 3:26 p.m. UTC
  The code uses a local variable to initialize a null pointer in order to
avoid accessing this null pointer later on.

Simply removed the 'unused' variable and check for the null pointer just
before accessing it.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
---
 drivers/iio/inkern.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)
  

Comments

Jonathan Cameron June 17, 2023, 5:42 p.m. UTC | #1
On Thu, 15 Jun 2023 17:26:23 +0200
Herve Codina <herve.codina@bootlin.com> wrote:

> The code uses a local variable to initialize a null pointer in order to
> avoid accessing this null pointer later on.
> 
> Simply removed the 'unused' variable and check for the null pointer just
> before accessing it.
> 
> Signed-off-by: Herve Codina <herve.codina@bootlin.com>
> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

A this series has grown more changes in IIO over time....
Hopefully who ever takes it can provide an immutable branch to make
it easy to avoid any dependency issues for other work in IIO.

Thanks,

Jonathan

> ---
>  drivers/iio/inkern.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c
> index f738db9a0c04..ce537b4ca6ca 100644
> --- a/drivers/iio/inkern.c
> +++ b/drivers/iio/inkern.c
> @@ -849,14 +849,10 @@ static int iio_channel_read_max(struct iio_channel *chan,
>  				int *val, int *val2, int *type,
>  				enum iio_chan_info_enum info)
>  {
> -	int unused;
>  	const int *vals;
>  	int length;
>  	int ret;
>  
> -	if (!val2)
> -		val2 = &unused;
> -
>  	ret = iio_channel_read_avail(chan, &vals, type, &length, info);
>  	if (ret < 0)
>  		return ret;
> @@ -869,7 +865,8 @@ static int iio_channel_read_max(struct iio_channel *chan,
>  			break;
>  		default:
>  			*val = vals[4];
> -			*val2 = vals[5];
> +			if (val2)
> +				*val2 = vals[5];
>  		}
>  		return 0;
>
  

Patch

diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c
index f738db9a0c04..ce537b4ca6ca 100644
--- a/drivers/iio/inkern.c
+++ b/drivers/iio/inkern.c
@@ -849,14 +849,10 @@  static int iio_channel_read_max(struct iio_channel *chan,
 				int *val, int *val2, int *type,
 				enum iio_chan_info_enum info)
 {
-	int unused;
 	const int *vals;
 	int length;
 	int ret;
 
-	if (!val2)
-		val2 = &unused;
-
 	ret = iio_channel_read_avail(chan, &vals, type, &length, info);
 	if (ret < 0)
 		return ret;
@@ -869,7 +865,8 @@  static int iio_channel_read_max(struct iio_channel *chan,
 			break;
 		default:
 			*val = vals[4];
-			*val2 = vals[5];
+			if (val2)
+				*val2 = vals[5];
 		}
 		return 0;