From 5bddcd378e18f838e8f9126f615bae42b0c37c9c Mon Sep 17 00:00:00 2001 From: Wayne Lin Date: Mon, 27 Apr 2020 10:25:36 +0800 Subject: [PATCH] Get stuck issue after open-close-open CAN device. Signed-off-by: Wayne Lin --- components/drivers/can/can.c | 1 + 1 file changed, 1 insertion(+) diff --git a/components/drivers/can/can.c b/components/drivers/can/can.c index 3d60dbaa55..9f4612355b 100644 --- a/components/drivers/can/can.c +++ b/components/drivers/can/can.c @@ -422,6 +422,7 @@ static rt_err_t rt_can_close(struct rt_device *dev) tx_fifo = (struct rt_can_tx_fifo *)can->can_tx; RT_ASSERT(tx_fifo != RT_NULL); + rt_sem_detach(&(tx_fifo->sem)); rt_free(tx_fifo); dev->open_flag &= ~RT_DEVICE_FLAG_INT_TX; can->can_tx = RT_NULL;