iio: imu: inv_icm42600: Fix I2C init possible nack
commitb5d6ba09b1
upstream. 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:7297ef1e26
("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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
7619f3c498
Коммит
a590353a95
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче