diff --git a/drivers/sensor/lsm6dso/lsm6dso_shub.c b/drivers/sensor/lsm6dso/lsm6dso_shub.c index f4be9b1b25d..4226f694f38 100644 --- a/drivers/sensor/lsm6dso/lsm6dso_shub.c +++ b/drivers/sensor/lsm6dso/lsm6dso_shub.c @@ -441,11 +441,11 @@ static int lsm6dso_shub_wait_completed(stmdev_ctx_t *ctx) static inline void lsm6dso_shub_embedded_en(stmdev_ctx_t *ctx, bool on) { - if (on) { - (void) lsm6dso_mem_bank_set(ctx, LSM6DSO_SENSOR_HUB_BANK); - } else { - (void) lsm6dso_mem_bank_set(ctx, LSM6DSO_USER_BANK); - } + lsm6dso_func_cfg_access_t reg = { + .reg_access = on ? LSM6DSO_SENSOR_HUB_BANK : LSM6DSO_USER_BANK + }; + + lsm6dso_write_reg(ctx, LSM6DSO_FUNC_CFG_ACCESS, (uint8_t *)®, 1); k_busy_wait(150); }