From 35adca5ba3517462417a439b8ee82bf43a4b6b67 Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 1 Jul 2013 11:34:08 +0700 Subject: [PATCH] house keeping --- tinyusb/class/custom_class_host.c | 4 +++- tinyusb/host/usbh.c | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/tinyusb/class/custom_class_host.c b/tinyusb/class/custom_class_host.c index 3ff361886..42ab34acd 100644 --- a/tinyusb/class/custom_class_host.c +++ b/tinyusb/class/custom_class_host.c @@ -111,11 +111,11 @@ tusb_error_t cush_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con { // FIXME quick hack to test lpc1k custom class with 2 bulk endpoints uint8_t const *p_desc = (uint8_t const *) p_interface_desc; + p_desc = descriptor_next(p_desc); //------------- Bulk Endpoints Descriptor -------------// for(uint32_t i=0; i<2; i++) { - p_desc += p_desc[DESCRIPTOR_OFFSET_LENGTH]; tusb_descriptor_endpoint_t const *p_endpoint = (tusb_descriptor_endpoint_t const *) p_desc; ASSERT_INT(TUSB_DESC_TYPE_ENDPOINT, p_endpoint->bDescriptorType, TUSB_ERROR_INVALID_PARA); @@ -123,6 +123,8 @@ tusb_error_t cush_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con &custom_interface[dev_addr-1].pipe_in : &custom_interface[dev_addr-1].pipe_out; *p_pipe_hdl = hcd_pipe_open(dev_addr, p_endpoint, TUSB_CLASS_VENDOR_SPECIFIC); ASSERT ( pipehandle_is_valid(*p_pipe_hdl), TUSB_ERROR_HCD_OPEN_PIPE_FAILED ); + + p_desc = descriptor_next(p_desc); } (*p_length) = sizeof(tusb_descriptor_interface_t) + 2*sizeof(tusb_descriptor_endpoint_t); diff --git a/tinyusb/host/usbh.c b/tinyusb/host/usbh.c index 71a994443..628cf637a 100644 --- a/tinyusb/host/usbh.c +++ b/tinyusb/host/usbh.c @@ -271,8 +271,8 @@ void usbh_device_unplugged_isr(uint8_t hostid) dev_addr++; } - // TODO close addr0 pipe (when get 8-byte desc, set addr failed) - ASSERT(dev_addr <= TUSB_CFG_HOST_DEVICE_MAX, (void) 0 ); + if (dev_addr > TUSB_CFG_HOST_DEVICE_MAX) // unplug unmounted device + return; if (dev_addr > 0) // device can still be unplugged when not set new address {