reame SUBTASK_EXIT to SUBTASK_RETURN

This commit is contained in:
hathach 2018-03-05 13:25:24 +07:00
parent 185b240f03
commit 84bce659b8
6 changed files with 17 additions and 17 deletions

View File

@ -179,7 +179,7 @@ tusb_error_t rndish_open_subtask(uint8_t dev_addr, cdch_data_t *p_cdc)
msg_payload),
error
);
if ( TUSB_ERROR_NONE != error ) SUBTASK_EXIT(error);
if ( TUSB_ERROR_NONE != error ) SUBTASK_RETURN(error);
// TODO currently not support multiple data packets per xfer
rndis_msg_initialize_cmplt_t * const p_init_cmpt = (rndis_msg_initialize_cmplt_t *) msg_payload;
@ -197,7 +197,7 @@ tusb_error_t rndish_open_subtask(uint8_t dev_addr, cdch_data_t *p_cdc)
msg_payload),
error
);
if ( TUSB_ERROR_NONE != error ) SUBTASK_EXIT(error);
if ( TUSB_ERROR_NONE != error ) SUBTASK_RETURN(error);
rndis_msg_query_cmplt_t * const p_query_cmpt = (rndis_msg_query_cmplt_t *) msg_payload;
SUBTASK_ASSERT(p_query_cmpt->type == RNDIS_MSG_QUERY_CMPLT && p_query_cmpt->status == RNDIS_STATUS_SUCCESS);
@ -214,7 +214,7 @@ tusb_error_t rndish_open_subtask(uint8_t dev_addr, cdch_data_t *p_cdc)
msg_payload),
error
);
if ( TUSB_ERROR_NONE != error ) SUBTASK_EXIT(error);
if ( TUSB_ERROR_NONE != error ) SUBTASK_RETURN(error);
rndis_msg_set_cmplt_t * const p_set_cmpt = (rndis_msg_set_cmplt_t *) msg_payload;
SUBTASK_ASSERT(p_set_cmpt->type == RNDIS_MSG_SET_CMPLT && p_set_cmpt->status == RNDIS_STATUS_SUCCESS);
@ -250,12 +250,12 @@ static tusb_error_t send_message_get_response_subtask( uint8_t dev_addr, cdch_da
mess_length, p_mess),
error
);
if ( TUSB_ERROR_NONE != error ) SUBTASK_EXIT(error);
if ( TUSB_ERROR_NONE != error ) SUBTASK_RETURN(error);
//------------- waiting for Response Available notification -------------//
(void) hcd_pipe_xfer(p_cdc->pipe_notification, msg_notification[dev_addr-1], 8, true);
osal_semaphore_wait(rndish_data[dev_addr-1].sem_notification_hdl, OSAL_TIMEOUT_NORMAL, &error);
if ( TUSB_ERROR_NONE != error ) SUBTASK_EXIT(error);
if ( TUSB_ERROR_NONE != error ) SUBTASK_RETURN(error);
SUBTASK_ASSERT(msg_notification[dev_addr-1][0] == 1);
//------------- Get RNDIS Message Initialize Complete -------------//
@ -265,7 +265,7 @@ static tusb_error_t send_message_get_response_subtask( uint8_t dev_addr, cdch_da
RNDIS_MSG_PAYLOAD_MAX, p_response),
error
);
if ( TUSB_ERROR_NONE != error ) SUBTASK_EXIT(error);
if ( TUSB_ERROR_NONE != error ) SUBTASK_RETURN(error);
OSAL_SUBTASK_END
}

View File

@ -239,11 +239,11 @@ tusb_error_t hidh_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con
#endif
{
SUBTASK_EXIT(TUSB_ERROR_HIDH_NOT_SUPPORTED_PROTOCOL); // exit & restart task
SUBTASK_RETURN(TUSB_ERROR_HIDH_NOT_SUPPORTED_PROTOCOL); // exit & restart task
}
}else
{
SUBTASK_EXIT(TUSB_ERROR_HIDH_NOT_SUPPORTED_SUBCLASS); // exit & restart task
SUBTASK_RETURN(TUSB_ERROR_HIDH_NOT_SUPPORTED_SUBCLASS); // exit & restart task
}
*p_length = sizeof(tusb_descriptor_interface_t) + sizeof(tusb_hid_descriptor_hid_t) + sizeof(tusb_descriptor_endpoint_t);

View File

@ -87,8 +87,8 @@ void hal_dcd_set_address (uint8_t coreid, uint8_t dev_addr);
void hal_dcd_set_config (uint8_t coreid, uint8_t config_num);
/*------------- Event function -------------*/
void hal_dcd_setup_received(uint8_t coreid, uint8_t const* p_request);
void hal_dcd_bus_event(uint8_t coreid, usbd_bus_event_type_t bus_event);
void hal_dcd_setup_received(uint8_t coreid, uint8_t const* p_request);
//------------- PIPE API -------------//
bool dcd_pipe_control_xfer(uint8_t coreid, tusb_direction_t dir, uint8_t * p_buffer, uint16_t length, bool int_on_complete);

View File

@ -207,8 +207,8 @@ tusb_error_t usbh_control_xfer_subtask(uint8_t dev_addr, uint8_t bmRequestType,
osal_mutex_release(usbh_devices[dev_addr].control.mutex_hdl);
SUBTASK_ASSERT_STATUS(error);
if (TUSB_EVENT_XFER_STALLED == usbh_devices[dev_addr].control.pipe_status) SUBTASK_EXIT(TUSB_ERROR_USBH_XFER_STALLED);
if (TUSB_EVENT_XFER_ERROR == usbh_devices[dev_addr].control.pipe_status) SUBTASK_EXIT(TUSB_ERROR_USBH_XFER_FAILED);
if (TUSB_EVENT_XFER_STALLED == usbh_devices[dev_addr].control.pipe_status) SUBTASK_RETURN(TUSB_ERROR_USBH_XFER_STALLED);
if (TUSB_EVENT_XFER_ERROR == usbh_devices[dev_addr].control.pipe_status) SUBTASK_RETURN(TUSB_ERROR_USBH_XFER_FAILED);
// SUBTASK_ASSERT_WITH_HANDLER(TUSB_ERROR_NONE == error &&
// TUSB_EVENT_XFER_COMPLETE == usbh_devices[dev_addr].control.pipe_status,
@ -388,7 +388,7 @@ tusb_error_t enumeration_body_subtask(void)
{ // connection event
osal_task_delay(POWER_STABLE_DELAY); // wait until device is stable. Increase this if the first 8 bytes is failed to get
if ( !hcd_port_connect_status(usbh_devices[0].core_id) ) SUBTASK_EXIT(TUSB_ERROR_NONE); // exit if device unplugged while delaying
if ( !hcd_port_connect_status(usbh_devices[0].core_id) ) SUBTASK_RETURN(TUSB_ERROR_NONE); // exit if device unplugged while delaying
hcd_port_reset( usbh_devices[0].core_id ); // port must be reset to have correct speed operation
osal_task_delay(RESET_DELAY);
@ -398,7 +398,7 @@ tusb_error_t enumeration_body_subtask(void)
else
{ // disconnection event
usbh_device_unplugged(usbh_devices[0].core_id, 0, 0);
SUBTASK_EXIT(TUSB_ERROR_NONE); // restart task
SUBTASK_RETURN(TUSB_ERROR_NONE); // restart task
}
}
#if TUSB_CFG_HOST_HUB
@ -421,14 +421,14 @@ tusb_error_t enumeration_body_subtask(void)
hub_port_status_response_t * p_port_status;
p_port_status = ((hub_port_status_response_t *) enum_data_buffer);
if ( ! p_port_status->status_change.connect_status ) SUBTASK_EXIT(TUSB_ERROR_NONE); // only handle connection change
if ( ! p_port_status->status_change.connect_status ) SUBTASK_RETURN(TUSB_ERROR_NONE); // only handle connection change
if ( ! p_port_status->status_current.connect_status )
{ // Disconnection event
usbh_device_unplugged(usbh_devices[0].core_id, usbh_devices[0].hub_addr, usbh_devices[0].hub_port);
(void) hub_status_pipe_queue( usbh_devices[0].hub_addr ); // done with hub, waiting for next data on status pipe
SUBTASK_EXIT(TUSB_ERROR_NONE); // restart task
SUBTASK_RETURN(TUSB_ERROR_NONE); // restart task
}
else
{ // Connection Event

View File

@ -74,7 +74,7 @@
#define OSAL_SUBTASK_BEGIN
#define OSAL_SUBTASK_END return TUSB_ERROR_NONE;
#define SUBTASK_EXIT(error) return error;
#define SUBTASK_RETURN(error) return error;
#define OSAL_SUBTASK_INVOKED_AND_WAIT(subtask, status) status = subtask
//------------- Sub Task Assert -------------//

View File

@ -127,7 +127,7 @@ static inline osal_task_t osal_task_create(osal_func_t code, const char* name, u
}while(0)
//------------- Sub Task Assert -------------//
#define SUBTASK_EXIT(error) \
#define SUBTASK_RETURN(error) \
do { TASK_RESTART; return error; } while(0)
#define _SUBTASK_ASSERT_ERROR_HANDLER(error, func_call) \