On Wed, 31 Jul 2024 15:37:23 +0300 Dumitru Ceclan <mitrutzceclan@xxxxxxxxx> wrote: > The ad7124_find_similar_live_cfg() computes the compare size by > substracting the address of the cfg struct from the address of the live > field. Because the live field is the first field in the struct, the > result is 0. > > Also, the memcmp() call is made from the start of the cfg struct, which > includes the live and cfg_slot fields, which are not relevant for the > comparison. > > Fix by grouping the relevant fields with struct_group() and use the > size of the group to compute the compare size; make the memcmp() call > from the address of the group. > > Fixes: 7b8d045e497a ("iio: adc: ad7124: allow more than 8 channels") > Signed-off-by: Dumitru Ceclan <dumitru.ceclan@xxxxxxxxxx> Applied to the fixes-togreg branch of iio.git and marked for stable.