> On 27.08.19 22:08, Jonathan Cameron wrote: > > On Tue, 27 Aug 2019 10:26:35 +0200 > > Lorenzo Bianconi wrote: > > > >> Get rid of invalid sensitivity value for LSM9DS1 gyro sensor > >> > >> Fixes: 687a60feb9c6 ("iio: imu: st_lsm6dsx: add support for accel/gyro unit of lsm9ds1") > >> Signed-off-by: Lorenzo Bianconi > > The zero degree scale is certainly odd otherwise, so good to tidy > > this up. > > > > Applied to the togreg branch of iio.git. > > > > Hi Jon, > > you have applied this too quickly. I've left that zero value in there > for a reason, see below: > > > > Thanks, > > > > Jonathan > > > >> --- [...] > > You Ooops here and it's pretty obvious! You don't have > ST_LSM6DSX_FS_LIST_SIZE number of elements in the array anymore, but you > try to access it (the 4th). Hi Martin, according to pahole (x86_64): struct st_lsm6dsx_fs { [...] /* size: 8, cachelines: 1, members: 2 * }; struct st_lsm6dsx_fs_table_entry { [...] struct st_lsm6dsx_fs fs_avl[4]; /* 4 32 */ /* size: 36, cachelines: 1, members: 2 */ }; struct st_lsm6dsx_settings { [...] struct st_lsm6dsx_fs_table_entry fs_table[2]; /* 284 72 */ /* size: 464, cachelines: 8, members: 14 */ }; struct st_lsm6dsx_fs_table_entry in st_lsm6dsx_settings will always have 4 elements for fs_avl array and since the array is defined as static the uninitialized elements are set to 0. Could you please share the ops you are getting? Regards, Lorenzo > > I suggest reverting this (if not able to delete it entirely) and start > over in case this "invalid" value thing hurts and needs to get fixed. > > I any case, there _is_ something we should do because it's not too > obvious what constraints the st_lsm6dsx_sensor_settings struct > definition has. It should be mostly clear when looking at the header but > a few inline comments might help. > > thanks, > > martin > > > > >> + > >> len += scnprintf(buf + len, PAGE_SIZE - len, "0.%06u ", > >> - hw->settings->fs_table[id].fs_avl[i].gain); > >> + fs_table->fs_avl[i].gain); > >> + } > >> buf[len - 1] = '\n'; > >> > >> return len; > > >