[patch] Staging: iio: fix endian conversion in ad7298_scan_direct()

Hennerich, Michael Michael.Hennerich at analog.com
Tue Nov 22 09:27:50 UTC 2011


Dan Carpenter wrote on 2011-11-22:
> "tmp" is used to store the output from cpu_to_be16() so it should be
> a __be16 bit type.
>
> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>

Good catch - Thanks!

Acked-by: Michael Hennerich <michael.hennerich at analog.com>

> ---
> Static checker patch.  Untested.
>
> diff --git a/drivers/staging/iio/adc/ad7298_core.c
> b/drivers/staging/iio/adc/ad7298_core.c index a799bd1..3e804e2 100644
> --- a/drivers/staging/iio/adc/ad7298_core.c +++
> b/drivers/staging/iio/adc/ad7298_core.c @@ -69,27 +69,28 @@ static int
> ad7298_scan_direct(struct ad7298_state *st, unsigned ch)
>  static int ad7298_scan_temp(struct ad7298_state *st, int *val) {     int
>  tmp, ret;
> +     __be16 buf;
>
> -     tmp = cpu_to_be16(AD7298_WRITE | AD7298_TSENSE |
> +     buf = cpu_to_be16(AD7298_WRITE | AD7298_TSENSE |
>                         AD7298_TAVG | st->ext_ref);
> -     ret = spi_write(st->spi, (u8 *)&tmp, 2);
> +     ret = spi_write(st->spi, (u8 *)&buf, 2);
>       if (ret)
>               return ret;
> -     tmp = 0;
> +     buf = cpu_to_be16(0);
>
> -     ret = spi_write(st->spi, (u8 *)&tmp, 2);
> +     ret = spi_write(st->spi, (u8 *)&buf, 2);
>       if (ret)
>               return ret;
>
>       usleep_range(101, 1000); /* sleep > 100us */
> -     ret = spi_read(st->spi, (u8 *)&tmp, 2);
> +     ret = spi_read(st->spi, (u8 *)&buf, 2);
>       if (ret)
>               return ret;
> -     tmp = be16_to_cpu(tmp) & RES_MASK(AD7298_BITS);
> +     tmp = be16_to_cpu(buf) & RES_MASK(AD7298_BITS);
>
>       /*
>        * One LSB of the ADC corresponds to 0.25 deg C.

Greetings,
Michael

--
Analog Devices GmbH      Wilhelm-Wagenfeld-Str. 6      80807 Muenchen
Sitz der Gesellschaft: Muenchen; Registergericht: Muenchen HRB 40368;
Geschaeftsfuehrer:Dr.Carsten Suckrow, Thomas Wessel, William A. Martin, Margaret Seif





More information about the devel mailing list