summaryrefslogtreecommitdiff
path: root/components/drivers/can
diff options
context:
space:
mode:
authoryaomo718 <[email protected]>2019-04-25 00:51:14 +0800
committeryaomo718 <[email protected]>2019-04-25 11:18:28 +0800
commitb67a8152a507e6393d596e8df6af17d447699f6a (patch)
tree6a3760bedb36e758195ccdba6f550c2ebc8335a9 /components/drivers/can
parent214c1a6d45323821a431924b4142bade8207a686 (diff)
[components][drivers][can] can.c bug修复:
在RT_CAN_USING_HDR宏关闭的时候,接收数据大小的计算应该是:已使用链表数*sizeof(struct rt_can_msg)。
Diffstat (limited to 'components/drivers/can')
-rw-r--r--components/drivers/can/can.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/components/drivers/can/can.c b/components/drivers/can/can.c
index 078d8bb64a..0769c79fd7 100644
--- a/components/drivers/can/can.c
+++ b/components/drivers/can/can.c
@@ -854,7 +854,7 @@ void rt_hw_can_isr(struct rt_can_device *can, int event)
level = rt_hw_interrupt_disable();
/* get rx length */
- rx_length = rx_fifo->freenumbers * sizeof(struct rt_can_msg);
+ rx_length = rt_list_len(&rx_fifo->uselist)* sizeof(struct rt_can_msg);
rt_hw_interrupt_enable(level);
can->parent.rx_indicate(&can->parent, rx_length);