iio: imu: inv_icm42600: Fix broken icm42600 (chip id 0 value)
The 0 value used for INV_CHIP_ICM42600 was not working since the match in i2c/spi was checking against NULL value. To keep this check, add a first INV_CHIP_INVALID 0 value as safe guard. Fixes: 31c24c1e93c3 ("iio: imu: inv_icm42600: add core of new inv_icm42600 driver") Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com> Link: https://lore.kernel.org/r/20220609102301.4794-1-jmaneyrol@invensense.com Cc: <Stable@vger.kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
f1a633b15c
commit
106b391e1b
@ -17,6 +17,7 @@
|
||||
#include "inv_icm42600_buffer.h"
|
||||
|
||||
enum inv_icm42600_chip {
|
||||
INV_CHIP_INVALID,
|
||||
INV_CHIP_ICM42600,
|
||||
INV_CHIP_ICM42602,
|
||||
INV_CHIP_ICM42605,
|
||||
|
@ -565,7 +565,7 @@ int inv_icm42600_core_probe(struct regmap *regmap, int chip, int irq,
|
||||
bool open_drain;
|
||||
int ret;
|
||||
|
||||
if (chip < 0 || chip >= INV_CHIP_NB) {
|
||||
if (chip <= INV_CHIP_INVALID || chip >= INV_CHIP_NB) {
|
||||
dev_err(dev, "invalid chip = %d\n", chip);
|
||||
return -ENODEV;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user