sof is optional, revert other changes but remove unneeded check.
This commit is contained in:
		| @@ -91,7 +91,7 @@ typedef struct | ||||
|   bool (* control_request  ) (uint8_t rhport, tusb_control_request_t const * request); | ||||
|   bool (* control_complete ) (uint8_t rhport, tusb_control_request_t const * request); | ||||
|   bool (* xfer_cb          ) (uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes); | ||||
|   void (* sof              ) (uint8_t rhport); | ||||
|   void (* sof              ) (uint8_t rhport); /* optional */ | ||||
| } usbd_class_driver_t; | ||||
|  | ||||
| static usbd_class_driver_t const _usbd_driver[] = | ||||
| @@ -450,8 +450,6 @@ void tud_task (void) | ||||
| // Helper to invoke class driver control request handler | ||||
| static bool invoke_class_control(uint8_t rhport, uint8_t drvid, tusb_control_request_t const * request) | ||||
| { | ||||
|   TU_VERIFY(_usbd_driver[drvid].control_request); | ||||
|  | ||||
|   usbd_control_set_complete_callback(_usbd_driver[drvid].control_complete); | ||||
|   TU_LOG2("  %s control request\r\n", _usbd_driver[drvid].name); | ||||
|   return _usbd_driver[drvid].control_request(rhport, request); | ||||
| @@ -463,7 +461,7 @@ static bool process_control_request(uint8_t rhport, tusb_control_request_t const | ||||
| { | ||||
|   usbd_control_set_complete_callback(NULL); | ||||
|  | ||||
|   TU_VERIFY(p_request->bmRequestType_bit.type < TUSB_REQ_TYPE_INVALID); | ||||
|   TU_ASSERT(p_request->bmRequestType_bit.type < TUSB_REQ_TYPE_INVALID); | ||||
|  | ||||
|   // Vendor request | ||||
|   if ( p_request->bmRequestType_bit.type == TUSB_REQ_TYPE_VENDOR ) | ||||
| @@ -801,7 +799,7 @@ static bool process_get_descriptor(uint8_t rhport, tusb_control_request_t const | ||||
|     case TUSB_DESC_CONFIGURATION: | ||||
|     { | ||||
|       tusb_desc_configuration_t const* desc_config = (tusb_desc_configuration_t const*) tud_descriptor_configuration_cb(desc_index); | ||||
|       TU_VERIFY(desc_config); | ||||
|       TU_ASSERT(desc_config); | ||||
|  | ||||
|       uint16_t total_len; | ||||
|       memcpy(&total_len, &desc_config->wTotalLength, 2); // possibly mis-aligned memory | ||||
| @@ -821,7 +819,7 @@ static bool process_get_descriptor(uint8_t rhport, tusb_control_request_t const | ||||
|       else | ||||
|       { | ||||
|         uint8_t const* desc_str = (uint8_t const*) tud_descriptor_string_cb(desc_index, p_request->wIndex); | ||||
|         TU_VERIFY(desc_str); | ||||
|         TU_ASSERT(desc_str); | ||||
|  | ||||
|         // first byte of descriptor is its size | ||||
|         return tud_control_xfer(rhport, p_request, (void*) desc_str, desc_str[0]); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Nathan Conrad
					Nathan Conrad