On Sun, 1 May 2022 21:50:29 +0200 Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > The call to check if the calibration is all zeroes is doing > it wrong: memchr_inv() returns NULL if the the calibration > contains all zeroes, but the check is for != NULL. > > Fix it up. It's probably not an urgent fix because the inner > check for BIT(7) in data[13] will save us. But fix it. > > Fixes: de8860b1ed47 ("iio: magnetometer: Add driver for Yamaha YAS530") > Reported-by: Jakob Hauser <jahau@xxxxxxxxxxxxxx> > Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Applied to the fixes-togreg branch of iio.git. Thanks, Jonathan > --- > drivers/iio/magnetometer/yamaha-yas530.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/iio/magnetometer/yamaha-yas530.c b/drivers/iio/magnetometer/yamaha-yas530.c > index 9ff7b0e56cf6..b2bc637150bf 100644 > --- a/drivers/iio/magnetometer/yamaha-yas530.c > +++ b/drivers/iio/magnetometer/yamaha-yas530.c > @@ -639,7 +639,7 @@ static int yas532_get_calibration_data(struct yas5xx *yas5xx) > dev_dbg(yas5xx->dev, "calibration data: %*ph\n", 14, data); > > /* Sanity check, is this all zeroes? */ > - if (memchr_inv(data, 0x00, 13)) { > + if (memchr_inv(data, 0x00, 13) == NULL) { > if (!(data[13] & BIT(7))) > dev_warn(yas5xx->dev, "calibration is blank!\n"); > }