diff --git a/components/drivers/serial/serial.c b/components/drivers/serial/serial.c index f94b7eda01..856e33e979 100644 --- a/components/drivers/serial/serial.c +++ b/components/drivers/serial/serial.c @@ -1180,7 +1180,10 @@ void rt_hw_serial_isr(struct rt_serial_device *serial, int event) (serial->config.bufsz - (rx_fifo->get_index - rx_fifo->put_index)); rt_hw_interrupt_enable(level); - serial->parent.rx_indicate(&serial->parent, rx_length); + if (rx_length) + { + serial->parent.rx_indicate(&serial->parent, rx_length); + } } break; }