On Thu, 8 Dec 2022 15:19:07 +0800 carlos.song@xxxxxxx wrote: > From: Carlos Song <carlos.song@xxxxxxx> > > The length of ACCEL and MAGN 3-aix channels output data is 6 byte > individually. However block only read 3 bytes data into buffer from > ACCEL or MAGN output data registers every time. It causes an incompete > ACCEL and MAGN channels readback. > > Set correct value count for regmap_bulk_read to get 6 bytes ACCEL and > MAGN channels readback. > > Fixes: 84e5ddd5c46e ("iio: imu: Add support for the FXOS8700 IMU") > Signed-off-by: Carlos Song <carlos.song@xxxxxxx> Please spell check patch descriptions. Anyhow, tidied that up whilst applying. Applied to the fixes-togreg branch of iio.git and marked for stable inclusion. Thanks, Jonathan > --- > Changes for V2: > - Reserve the global DMA safe buffer > - Use sizeof(data->buf) instead of hardcoded FXOS8700_DATA_BUF_SIZE > - Rework commit log > > diff --git a/drivers/iio/imu/fxos8700_core.c b/drivers/iio/imu/fxos8700_core.c > index 977eb7dc7dbd..b62bc92bbacc 100644 > --- a/drivers/iio/imu/fxos8700_core.c > +++ b/drivers/iio/imu/fxos8700_core.c > @@ -414,7 +414,7 @@ static int fxos8700_get_data(struct fxos8700_data *data, int chan_type, > > /* Block read 6 bytes of device output registers to avoid data loss */ > ret = regmap_bulk_read(data->regmap, base, data->buf, > - FXOS8700_DATA_BUF_SIZE); > + sizeof(data->buf)); > if (ret) > return ret; >