[serial] 解决serial_close未清除回调接口的问题

This commit is contained in:
chenjh
2021-06-18 14:54:37 +08:00
parent 5ac5d92cbb
commit 0613cf8ca2
2 changed files with 5 additions and 1 deletions
+4
View File
@@ -939,6 +939,10 @@ static rt_err_t rt_serial_close(struct rt_device *dev)
rt_serial_tx_disable(dev, dev->open_flag &
(RT_SERIAL_TX_BLOCKING | RT_SERIAL_TX_NON_BLOCKING));
/* Clear the callback function */
serial->parent.rx_indicate = RT_NULL;
serial->parent.tx_complete = RT_NULL;
/* Call the control() API to close the serial device */
serial->ops->control(serial, RT_DEVICE_CTRL_CLOSE, RT_NULL);
dev->flag &= ~RT_DEVICE_FLAG_ACTIVATED;