aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2016-05-30 15:50:24 +0200
committerJonathan Cameron <jic23@kernel.org>2016-06-11 17:56:53 +0100
commit7e982555d89cc84b1fa23b5d54c7ffd9f7753908 (patch)
tree90865ecb86cb66a0cc524deaa426aa63ca0a453b /drivers/staging
parentiio: inv_mpu6050: Fix use-after-free in ACPI code (diff)
downloadlinux-dev-7e982555d89cc84b1fa23b5d54c7ffd9f7753908.tar.xz
linux-dev-7e982555d89cc84b1fa23b5d54c7ffd9f7753908.zip
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>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/iio/adc/ad7606_spi.c2
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,
{
struct spi_device *spi = to_spi_device(dev);
int i, ret;
- unsigned short *data;
+ unsigned short *data = buf;
__be16 *bdata = buf;
ret = spi_read(spi, buf, count * 2);