In order to fit a channel that describes a fingerprint scan the u8 range is not enough. For example, a scan whose height is 384 pixels and whose width is 144, for a bit depth of 8 bits per pixels, the total bits would be 384 x 144 x 8 = 442368, well over the u8 maximum 255 value. Fix that by changing the realbits and storagebits fields in the iio_chan_spec struct to u32. Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> --- include/linux/iio/iio.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h index e280cfe..e34e67c 100644 --- a/include/linux/iio/iio.h +++ b/include/linux/iio/iio.h @@ -232,8 +232,8 @@ struct iio_chan_spec { int scan_index; struct { char sign; - u8 realbits; - u8 storagebits; + u32 realbits; + u32 storagebits; u8 shift; u8 repeat; enum iio_endian endianness; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html