iio: imu: inv_icm42600: Fix I2C init possible nack
authorFawzi Khaber <fawzi.khaber@tdk.com>
Mon, 11 Apr 2022 11:15:33 +0000 (13:15 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 16 Apr 2022 14:03:58 +0000 (15:03 +0100)
This register write to REG_INTF_CONFIG6 enables a spike filter that
is impacting the line and can prevent the I2C ACK to be seen by the
controller. So we don't test the return value.

Fixes: 7297ef1e261672b8 ("iio: imu: inv_icm42600: add I2C driver")
Signed-off-by: Fawzi Khaber <fawzi.khaber@tdk.com>
Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
Link: https://lore.kernel.org/r/20220411111533.5826-1-jmaneyrol@invensense.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c

index 33d9afb..d4a692b 100644 (file)
@@ -18,12 +18,15 @@ static int inv_icm42600_i2c_bus_setup(struct inv_icm42600_state *st)
        unsigned int mask, val;
        int ret;
 
-       /* setup interface registers */
-       ret = regmap_update_bits(st->map, INV_ICM42600_REG_INTF_CONFIG6,
-                                INV_ICM42600_INTF_CONFIG6_MASK,
-                                INV_ICM42600_INTF_CONFIG6_I3C_EN);
-       if (ret)
-               return ret;
+       /*
+        * setup interface registers
+        * This register write to REG_INTF_CONFIG6 enables a spike filter that
+        * is impacting the line and can prevent the I2C ACK to be seen by the
+        * controller. So we don't test the return value.
+        */
+       regmap_update_bits(st->map, INV_ICM42600_REG_INTF_CONFIG6,
+                          INV_ICM42600_INTF_CONFIG6_MASK,
+                          INV_ICM42600_INTF_CONFIG6_I3C_EN);
 
        ret = regmap_update_bits(st->map, INV_ICM42600_REG_INTF_CONFIG4,
                                 INV_ICM42600_INTF_CONFIG4_I3C_BUS_ONLY, 0);