|
Takashi Iwai |
6b9bd7 |
From bb52d3691db8cf24cea049235223f3599778f264 Mon Sep 17 00:00:00 2001
|
|
Takashi Iwai |
6b9bd7 |
From: Linus Walleij <linus.walleij@linaro.org>
|
|
Takashi Iwai |
6b9bd7 |
Date: Sun, 1 May 2022 21:50:29 +0200
|
|
Takashi Iwai |
6b9bd7 |
Subject: [PATCH] iio: magnetometer: yas530: Fix memchr_inv() misuse
|
|
Takashi Iwai |
6b9bd7 |
Git-commit: bb52d3691db8cf24cea049235223f3599778f264
|
|
Takashi Iwai |
6b9bd7 |
Patch-mainline: v5.19-rc4
|
|
Takashi Iwai |
6b9bd7 |
References: git-fixes
|
|
Takashi Iwai |
6b9bd7 |
|
|
Takashi Iwai |
6b9bd7 |
The call to check if the calibration is all zeroes is doing
|
|
Takashi Iwai |
6b9bd7 |
it wrong: memchr_inv() returns NULL if the the calibration
|
|
Takashi Iwai |
6b9bd7 |
contains all zeroes, but the check is for != NULL.
|
|
Takashi Iwai |
6b9bd7 |
|
|
Takashi Iwai |
6b9bd7 |
Fix it up. It's probably not an urgent fix because the inner
|
|
Takashi Iwai |
6b9bd7 |
check for BIT(7) in data[13] will save us. But fix it.
|
|
Takashi Iwai |
6b9bd7 |
|
|
Takashi Iwai |
6b9bd7 |
Fixes: de8860b1ed47 ("iio: magnetometer: Add driver for Yamaha YAS530")
|
|
Takashi Iwai |
6b9bd7 |
Reported-by: Jakob Hauser <jahau@rocketmail.com>
|
|
Takashi Iwai |
6b9bd7 |
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
|
|
Takashi Iwai |
6b9bd7 |
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
|
Takashi Iwai |
6b9bd7 |
Link: https://lore.kernel.org/r/20220501195029.151852-1-linus.walleij@linaro.org
|
|
Takashi Iwai |
6b9bd7 |
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
|
|
Takashi Iwai |
6b9bd7 |
Acked-by: Takashi Iwai <tiwai@suse.de>
|
|
Takashi Iwai |
6b9bd7 |
|
|
Takashi Iwai |
6b9bd7 |
---
|
|
Takashi Iwai |
6b9bd7 |
drivers/iio/magnetometer/yamaha-yas530.c | 2 +-
|
|
Takashi Iwai |
6b9bd7 |
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
Takashi Iwai |
6b9bd7 |
|
|
Takashi Iwai |
6b9bd7 |
diff --git a/drivers/iio/magnetometer/yamaha-yas530.c b/drivers/iio/magnetometer/yamaha-yas530.c
|
|
Takashi Iwai |
6b9bd7 |
index 9ff7b0e56cf6..b2bc637150bf 100644
|
|
Takashi Iwai |
6b9bd7 |
--- a/drivers/iio/magnetometer/yamaha-yas530.c
|
|
Takashi Iwai |
6b9bd7 |
+++ b/drivers/iio/magnetometer/yamaha-yas530.c
|
|
Takashi Iwai |
6b9bd7 |
@@ -639,7 +639,7 @@ static int yas532_get_calibration_data(struct yas5xx *yas5xx)
|
|
Takashi Iwai |
6b9bd7 |
dev_dbg(yas5xx->dev, "calibration data: %*ph\n", 14, data);
|
|
Takashi Iwai |
6b9bd7 |
|
|
Takashi Iwai |
6b9bd7 |
/* Sanity check, is this all zeroes? */
|
|
Takashi Iwai |
6b9bd7 |
- if (memchr_inv(data, 0x00, 13)) {
|
|
Takashi Iwai |
6b9bd7 |
+ if (memchr_inv(data, 0x00, 13) == NULL) {
|
|
Takashi Iwai |
6b9bd7 |
if (!(data[13] & BIT(7)))
|
|
Takashi Iwai |
6b9bd7 |
dev_warn(yas5xx->dev, "calibration is blank!\n");
|
|
Takashi Iwai |
6b9bd7 |
}
|
|
Takashi Iwai |
6b9bd7 |
--
|
|
Takashi Iwai |
6b9bd7 |
2.35.3
|
|
Takashi Iwai |
6b9bd7 |
|