diff options
author | Arnd Bergmann <arnd@arndb.de> | 2016-05-30 09:50:24 -0400 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2016-06-11 12:56:53 -0400 |
commit | 7e982555d89cc84b1fa23b5d54c7ffd9f7753908 (patch) | |
tree | 90865ecb86cb66a0cc524deaa426aa63ca0a453b | |
parent | 6e85dbe4b461e59fa3cad6f6235cb47fa4c6a629 (diff) |
staging: iio: fix ad7606_spi regression
As pointed out by Geert Uytterhoeven, the patch was incorrect
and breaks the driver, which was fortunately pointed out by
this gcc warning:
drivers/staging/iio/adc/ad7606_spi.c: In function ‘ad7606_spi_read_block’:
drivers/staging/iio/adc/ad7606_spi.c:34: warning: ‘data’ is used uninitialized in this function
The effect of the patch is that the data is copied into
a random memory location (from the uninitialized pointer)
instead of being byteswapped in place.
This adds the initialization for the 'data' variable back
to restore the original behavior.
Cc: Ksenija Stanojevic <ksenija.stanojevic@gmail.com>
Fixes: 87787e5ef727 ("Staging: iio: Fix sparse endian warning")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
-rw-r--r-- | drivers/staging/iio/adc/ad7606_spi.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/staging/iio/adc/ad7606_spi.c b/drivers/staging/iio/adc/ad7606_spi.c index 825da0769936..9587fa86dc69 100644 --- a/drivers/staging/iio/adc/ad7606_spi.c +++ b/drivers/staging/iio/adc/ad7606_spi.c | |||
@@ -21,7 +21,7 @@ static int ad7606_spi_read_block(struct device *dev, | |||
21 | { | 21 | { |
22 | struct spi_device *spi = to_spi_device(dev); | 22 | struct spi_device *spi = to_spi_device(dev); |
23 | int i, ret; | 23 | int i, ret; |
24 | unsigned short *data; | 24 | unsigned short *data = buf; |
25 | __be16 *bdata = buf; | 25 | __be16 *bdata = buf; |
26 | 26 | ||
27 | ret = spi_read(spi, buf, count * 2); | 27 | ret = spi_read(spi, buf, count * 2); |