diff --git a/components/drivers/serial/serial.c b/components/drivers/serial/serial.c index 7dd2918b9b..c442b052b1 100644 --- a/components/drivers/serial/serial.c +++ b/components/drivers/serial/serial.c @@ -785,6 +785,8 @@ static rt_err_t rt_serial_close(struct rt_device *dev) tx_dma = (struct rt_serial_tx_dma*)serial->serial_tx; RT_ASSERT(tx_dma != RT_NULL); + rt_data_queue_deinit(&(tx_dma->data_queue)); + rt_free(tx_dma); serial->serial_tx = RT_NULL; dev->open_flag &= ~RT_DEVICE_FLAG_DMA_TX;