Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1508403 > unrolled thread

[PATCH] staging: iio: cdc/ad7746: fix missing return value

Started byArnd Bergmann <arnd@arndb.de>
First post2016-10-25 18:00 +0200
Last post2016-10-26 11:50 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] staging: iio: cdc/ad7746: fix missing return value Arnd Bergmann <arnd@arndb.de> - 2016-10-25 18:00 +0200
    Re: [PATCH] staging: iio: cdc/ad7746: fix missing return value Jonathan Cameron <jic23@kernel.org> - 2016-10-25 18:30 +0200
      Re: [PATCH] staging: iio: cdc/ad7746: fix missing return value Eva Rachel Retuya <eraretuya@gmail.com> - 2016-10-26 11:50 +0200

#1508403 — [PATCH] staging: iio: cdc/ad7746: fix missing return value

FromArnd Bergmann <arnd@arndb.de>
Date2016-10-25 18:00 +0200
Subject[PATCH] staging: iio: cdc/ad7746: fix missing return value
Message-ID<swciX-7zc-23@gated-at.bofh.it>
As found by "gcc -Wmaybe-uninitialized", the latest change to the
driver lacked an initalization for the return code in one of the
added cases:

drivers/staging/iio/cdc/ad7746.c: In function ‘ad7746_read_raw’:
drivers/staging/iio/cdc/ad7746.c:655:2: error: ‘ret’ may be used uninitialized in this function [-Werror=maybe-uninitialized]

This sets it to IIO_VAL_INT, which I think is what we want here.

Fixes: 2296c0623eb7 ("staging: iio: cdc: ad7746: implement IIO_CHAN_INFO_SAMP_FREQ")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/staging/iio/cdc/ad7746.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/iio/cdc/ad7746.c b/drivers/staging/iio/cdc/ad7746.c
index f41251ceeacd..a5828f9aa437 100644
--- a/drivers/staging/iio/cdc/ad7746.c
+++ b/drivers/staging/iio/cdc/ad7746.c
@@ -642,6 +642,7 @@ static int ad7746_read_raw(struct iio_dev *indio_dev,
 		case IIO_VOLTAGE:
 			*val = ad7746_vt_filter_rate_table[
 					(chip->config >> 6) & 0x3][0];
+			ret = IIO_VAL_INT;
 			break;
 		default:
 			ret = -EINVAL;
-- 
2.9.0

[toc] | [next] | [standalone]


#1508421

FromJonathan Cameron <jic23@kernel.org>
Date2016-10-25 18:30 +0200
Message-ID<swcLT-83d-19@gated-at.bofh.it>
In reply to#1508403
On 25/10/16 16:56, Arnd Bergmann wrote:
> As found by "gcc -Wmaybe-uninitialized", the latest change to the
> driver lacked an initalization for the return code in one of the
> added cases:
> 
> drivers/staging/iio/cdc/ad7746.c: In function ‘ad7746_read_raw’:
> drivers/staging/iio/cdc/ad7746.c:655:2: error: ‘ret’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
> 
> This sets it to IIO_VAL_INT, which I think is what we want here.
> 
> Fixes: 2296c0623eb7 ("staging: iio: cdc: ad7746: implement IIO_CHAN_INFO_SAMP_FREQ")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Gah, not a good bit of reviewing from me. Should have caught that one.  Thanks Arnd.

Applied to the togreg branch of iio.git - initially pushed out as testing for the
autobuilders to play with it.  Will probably be a little while before I send
another pull to Greg (most likely the weekend)

Thanks again,

Jonathan
> ---
>  drivers/staging/iio/cdc/ad7746.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/staging/iio/cdc/ad7746.c b/drivers/staging/iio/cdc/ad7746.c
> index f41251ceeacd..a5828f9aa437 100644
> --- a/drivers/staging/iio/cdc/ad7746.c
> +++ b/drivers/staging/iio/cdc/ad7746.c
> @@ -642,6 +642,7 @@ static int ad7746_read_raw(struct iio_dev *indio_dev,
>  		case IIO_VOLTAGE:
>  			*val = ad7746_vt_filter_rate_table[
>  					(chip->config >> 6) & 0x3][0];
> +			ret = IIO_VAL_INT;
>  			break;
>  		default:
>  			ret = -EINVAL;
> 

[toc] | [prev] | [next] | [standalone]


#1509011

FromEva Rachel Retuya <eraretuya@gmail.com>
Date2016-10-26 11:50 +0200
Message-ID<swt0l-1OS-15@gated-at.bofh.it>
In reply to#1508421
On Tue, Oct 25, 2016 at 05:27:07PM +0100, Jonathan Cameron wrote:
> On 25/10/16 16:56, Arnd Bergmann wrote:
> > As found by "gcc -Wmaybe-uninitialized", the latest change to the
> > driver lacked an initalization for the return code in one of the
> > added cases:
> > 
> > drivers/staging/iio/cdc/ad7746.c: In function ‘ad7746_read_raw’:
> > drivers/staging/iio/cdc/ad7746.c:655:2: error: ‘ret’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
> > 
> > This sets it to IIO_VAL_INT, which I think is what we want here.
> > 
> > Fixes: 2296c0623eb7 ("staging: iio: cdc: ad7746: implement IIO_CHAN_INFO_SAMP_FREQ")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Gah, not a good bit of reviewing from me. Should have caught that one.  Thanks Arnd.
> 

It's not your fault. My apologies. v1 of this patch is OK, I just happen to 
encounter a problem and had to rework the v2 on another branch resulting
to this blunder.

I will be extra careful next time.

Eva

> Applied to the togreg branch of iio.git - initially pushed out as testing for the
> autobuilders to play with it.  Will probably be a little while before I send
> another pull to Greg (most likely the weekend)
> 
> Thanks again,
> 
> Jonathan
> > ---
> >  drivers/staging/iio/cdc/ad7746.c | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/drivers/staging/iio/cdc/ad7746.c b/drivers/staging/iio/cdc/ad7746.c
> > index f41251ceeacd..a5828f9aa437 100644
> > --- a/drivers/staging/iio/cdc/ad7746.c
> > +++ b/drivers/staging/iio/cdc/ad7746.c
> > @@ -642,6 +642,7 @@ static int ad7746_read_raw(struct iio_dev *indio_dev,
> >  		case IIO_VOLTAGE:
> >  			*val = ad7746_vt_filter_rate_table[
> >  					(chip->config >> 6) & 0x3][0];
> > +			ret = IIO_VAL_INT;
> >  			break;
> >  		default:
> >  			ret = -EINVAL;
> > 
> 

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web