Skip to content

Commit 6db053c

Browse files
davidschillerJKUjic23
authored andcommitted
staging: iio: ad5933: fix type mismatch regression
Commit 4c3577d ("Staging: iio: impedance-analyzer: Fix sparse warning") fixed a compiler warning, but introduced a bug that resulted in one of the two 16 bit IIO channels always being zero (when both are enabled). This is because int is 32 bits wide on most architectures and in the case of a little-endian machine the two most significant bytes would occupy the buffer for the second channel as 'val' is being passed as a void pointer to 'iio_push_to_buffers()'. Fix by defining 'val' as u16. Tested working on ARM64. Fixes: 4c3577d ("Staging: iio: impedance-analyzer: Fix sparse warning") Signed-off-by: David Schiller <david.schiller@jku.at> Link: https://lore.kernel.org/r/20240122134916.2137957-1-david.schiller@jku.at Cc: <Stable@vger.kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
1 parent a69eeaa commit 6db053c

File tree

1 file changed

+1
-1
lines changed
  • drivers/staging/iio/impedance-analyzer

1 file changed

+1
-1
lines changed

drivers/staging/iio/impedance-analyzer/ad5933.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -608,7 +608,7 @@ static void ad5933_work(struct work_struct *work)
608608
struct ad5933_state, work.work);
609609
struct iio_dev *indio_dev = i2c_get_clientdata(st->client);
610610
__be16 buf[2];
611-
int val[2];
611+
u16 val[2];
612612
unsigned char status;
613613
int ret;
614614

0 commit comments

Comments
 (0)