mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-02-18 19:19:18 +08:00
Fix rtthread CAN driver issue.
Reset rx tx handler when closing CAN device, Or it will not work after reopening. Change-Id: I43482c21263a989322f8df2ac9349128f7cb630a
This commit is contained in:
parent
5e47dc41b3
commit
52729bb62d
@ -405,6 +405,7 @@ static rt_err_t rt_can_close(struct rt_device *dev)
|
|||||||
|
|
||||||
rt_free(rx_fifo);
|
rt_free(rx_fifo);
|
||||||
dev->open_flag &= ~RT_DEVICE_FLAG_INT_RX;
|
dev->open_flag &= ~RT_DEVICE_FLAG_INT_RX;
|
||||||
|
can->can_rx = RT_NULL;
|
||||||
/* configure low level device */
|
/* configure low level device */
|
||||||
can->ops->control(can, RT_DEVICE_CTRL_CLR_INT, (void *)RT_DEVICE_FLAG_INT_RX);
|
can->ops->control(can, RT_DEVICE_CTRL_CLR_INT, (void *)RT_DEVICE_FLAG_INT_RX);
|
||||||
}
|
}
|
||||||
@ -418,6 +419,7 @@ static rt_err_t rt_can_close(struct rt_device *dev)
|
|||||||
|
|
||||||
rt_free(tx_fifo);
|
rt_free(tx_fifo);
|
||||||
dev->open_flag &= ~RT_DEVICE_FLAG_INT_TX;
|
dev->open_flag &= ~RT_DEVICE_FLAG_INT_TX;
|
||||||
|
can->can_tx = RT_NULL;
|
||||||
/* configure low level device */
|
/* configure low level device */
|
||||||
can->ops->control(can, RT_DEVICE_CTRL_CLR_INT, (void *)RT_DEVICE_FLAG_INT_TX);
|
can->ops->control(can, RT_DEVICE_CTRL_CLR_INT, (void *)RT_DEVICE_FLAG_INT_TX);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user