diff --git a/subsys/modbus/modbus_core.c b/subsys/modbus/modbus_core.c index 777887f22753fb..bc0ff1d5bdda00 100644 --- a/subsys/modbus/modbus_core.c +++ b/subsys/modbus/modbus_core.c @@ -137,6 +137,8 @@ void modbus_tx_adu(struct modbus_context *ctx) int modbus_tx_wait_rx_adu(struct modbus_context *ctx) { + k_sem_reset(&ctx->client_wait_sem); + modbus_tx_adu(ctx); if (k_sem_take(&ctx->client_wait_sem, K_USEC(ctx->rxwait_to)) != 0) {