diff --git a/components/drivers/serial/serial.c b/components/drivers/serial/serial.c index f5a199e10b15a0f15731fb4dfcacffe37aabf8cf..3bae89c740bb6b39cb7cb07720d6ab13da9d03ee 100644 --- a/components/drivers/serial/serial.c +++ b/components/drivers/serial/serial.c @@ -522,12 +522,10 @@ void rt_hw_serial_isr(struct rt_serial_device *serial, int event) rt_base_t level; struct rt_serial_rx_fifo* rx_fifo; + /* interrupt mode receive */ rx_fifo = (struct rt_serial_rx_fifo*)serial->serial_rx; RT_ASSERT(rx_fifo != RT_NULL); - - /* interrupt mode receive */ - RT_ASSERT(serial->parent.open_flag & RT_DEVICE_FLAG_INT_RX); - + while (1) { ch = serial->ops->getc(serial);