diff --git a/subsys/modbus/modbus_core.c b/subsys/modbus/modbus_core.c index b5c9df25398dc4..3e6f87c053b9dc 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) {