drivers: i2c_nrfx_twi_rtio: Fix missing completion on i2c_configure

This patch adds the missing completion call to the
RTIO_OP_I2C_CONFIGURE OPs. Without this, the drivers will lock when
calling i2c_configure().

Signed-off-by: Luis Ubieda <luisf@croxel.com>
This commit is contained in:
Luis Ubieda 2025-04-09 10:36:18 -04:00 committed by Benjamin Cabé
commit ecbe31f59f
2 changed files with 10 additions and 2 deletions

View file

@ -80,7 +80,11 @@ static bool i2c_nrfx_twi_rtio_start(const struct device *dev)
sqe->tx.buf_len, dt_spec->addr);
case RTIO_OP_I2C_CONFIGURE:
(void)i2c_nrfx_twi_configure(dev, sqe->i2c_config);
return false;
/** This request will not generate an event therefore, this
* code immediately submits a CQE in order to unblock
* i2c_rtio_configure.
*/
return i2c_rtio_complete(ctx, 0);
case RTIO_OP_I2C_RECOVER:
(void)i2c_nrfx_twi_recover_bus(dev);
return false;

View file

@ -100,7 +100,11 @@ static bool i2c_nrfx_twim_rtio_start(const struct device *dev)
dt_spec->addr);
case RTIO_OP_I2C_CONFIGURE:
(void)i2c_nrfx_twim_configure(dev, sqe->i2c_config);
return false;
/** This request will not generate an event therefore, this
* code immediately submits a CQE in order to unblock
* i2c_rtio_configure.
*/
return i2c_rtio_complete(ctx, 0);
case RTIO_OP_I2C_RECOVER:
(void)i2c_nrfx_twim_recover_bus(dev);
return false;