提交 bda65433 编写于 作者: armink_ztl's avatar armink_ztl

[DeviceDrivers]Fix dataqueue irq not resume bug.

上级 7860ea4f
......@@ -117,11 +117,7 @@ rt_err_t rt_data_queue_push(struct rt_data_queue *queue,
/* thread is waked up */
result = thread->error;
level = rt_hw_interrupt_disable();
if (result != RT_EOK)
{
queue->waiting_lwm = RT_FALSE;
goto __exit;
}
if (result != RT_EOK) goto __exit;
}
queue->queue[queue->put_index % queue->size].data_ptr = data_ptr;
......@@ -244,6 +240,10 @@ rt_err_t rt_data_queue_pop(struct rt_data_queue *queue,
/* perform a schedule */
rt_schedule();
}
else
{
rt_hw_interrupt_enable(level);
}
if (queue->evt_notify != RT_NULL)
queue->evt_notify(queue, RT_DATAQUEUE_EVENT_LWM);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册