fix potential error with usbh_control_xfer_subtask in subtask_assert

change back to use task_assert style in usbh_enumeraion
change test to task->subtask->subtask style in test/test_osal_none.c
This commit is contained in:
hathach
2013-04-24 12:20:56 +07:00
parent 73d5f00a40
commit d312be7006
3 changed files with 206 additions and 201 deletions
+35 -13
View File
@@ -241,25 +241,47 @@ void flow_control_error_handler(void)
statements[5]++;
}
tusb_error_t sample_flow_control_subtask2(void)
{
tusb_error_t error;
OSAL_SUBTASK_BEGIN
statements[0]++;
osal_semaphore_wait(sem_hdl, OSAL_TIMEOUT_NORMAL, &error);
SUBTASK_ASSERT(TUSB_ERROR_NONE == error);
statements[1]++;
osal_semaphore_wait(sem_hdl, OSAL_TIMEOUT_NORMAL, &error);
SUBTASK_ASSERT_STATUS(error);
statements[2]++;
osal_semaphore_wait(sem_hdl, OSAL_TIMEOUT_NORMAL, &error);
SUBTASK_ASSERT_STATUS_WITH_HANDLER(error, flow_control_error_handler());
statements[3]++;
OSAL_SUBTASK_END
}
tusb_error_t sample_flow_control_subtask(void)
{
tusb_error_t error;
OSAL_SUBTASK_BEGIN
OSAL_SUBTASK_INVOKED_AND_WAIT (sample_flow_control_subtask2());
OSAL_SUBTASK_END
}
tusb_error_t sample_task_flow_control(void)
{
tusb_error_t error;
OSAL_TASK_LOOP_BEGIN
statements[0]++;
osal_semaphore_wait(sem_hdl, OSAL_TIMEOUT_NORMAL, &error);
TASK_ASSERT(TUSB_ERROR_NONE == error);
statements[1]++;
osal_semaphore_wait(sem_hdl, OSAL_TIMEOUT_NORMAL, &error);
TASK_ASSERT_STATUS(error);
statements[2]++;
osal_semaphore_wait(sem_hdl, OSAL_TIMEOUT_NORMAL, &error);
TASK_ASSERT_STATUS_WITH_HANDLER(error, flow_control_error_handler());
statements[3]++;
OSAL_SUBTASK_INVOKED_AND_WAIT ( sample_flow_control_subtask() );
OSAL_TASK_LOOP_END
}