diff --git a/tinyusb/class/cdc_rndis_host.c b/tinyusb/class/cdc_rndis_host.c index 75184b39d..ccadeaeb3 100644 --- a/tinyusb/class/cdc_rndis_host.c +++ b/tinyusb/class/cdc_rndis_host.c @@ -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 } diff --git a/tinyusb/class/hid_host.c b/tinyusb/class/hid_host.c index 0f39a0487..46b1383f7 100644 --- a/tinyusb/class/hid_host.c +++ b/tinyusb/class/hid_host.c @@ -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); diff --git a/tinyusb/device/dcd.h b/tinyusb/device/dcd.h index 925506a5a..1c60c3056 100644 --- a/tinyusb/device/dcd.h +++ b/tinyusb/device/dcd.h @@ -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); diff --git a/tinyusb/host/usbh.c b/tinyusb/host/usbh.c index b39dad3fe..0d9ac7533 100644 --- a/tinyusb/host/usbh.c +++ b/tinyusb/host/usbh.c @@ -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 diff --git a/tinyusb/osal/osal.h b/tinyusb/osal/osal.h index 4dbeabc11..a5b8268fe 100644 --- a/tinyusb/osal/osal.h +++ b/tinyusb/osal/osal.h @@ -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 -------------// diff --git a/tinyusb/osal/osal_none.h b/tinyusb/osal/osal_none.h index cf14ca848..7df9517cb 100644 --- a/tinyusb/osal/osal_none.h +++ b/tinyusb/osal/osal_none.h @@ -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) \