diff --git a/subsys/modbus/modbus_serial.c b/subsys/modbus/modbus_serial.c index 0289c001bc6..97f44adcd73 100644 --- a/subsys/modbus/modbus_serial.c +++ b/subsys/modbus/modbus_serial.c @@ -389,7 +389,7 @@ static void uart_cb_handler(const struct device *dev, void *app_data) cfg = ctx->cfg; - while (uart_irq_update(cfg->dev) && uart_irq_is_pending(cfg->dev)) { + if (uart_irq_update(cfg->dev) && uart_irq_is_pending(cfg->dev)) { if (uart_irq_rx_ready(cfg->dev)) { cb_handler_rx(ctx);