diff options
Diffstat (limited to 'components/drivers/serial/serial.c')
| -rw-r--r-- | components/drivers/serial/serial.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/components/drivers/serial/serial.c b/components/drivers/serial/serial.c index 2736ceed66..76298ea153 100644 --- a/components/drivers/serial/serial.c +++ b/components/drivers/serial/serial.c @@ -38,6 +38,7 @@ #ifdef RT_USING_POSIX #include <dfs_posix.h> #include <dfs_poll.h> +#include <sys/ioctl.h> #ifdef RT_USING_POSIX_TERMIOS #include <posix_termios.h> @@ -954,9 +955,7 @@ static void _tc_flush(struct rt_serial_device *serial, int queue) { RT_ASSERT(RT_NULL != rx_fifo); level = rt_hw_interrupt_disable(); - rt_memset(rx_fifo->buffer, 0, serial->config.bufsz); - rx_fifo->put_index = 0; - rx_fifo->get_index = 0; + rx_fifo->get_index = rx_fifo->put_index; rx_fifo->is_full = RT_FALSE; rt_hw_interrupt_enable(level); } |
