diff options
| author | Ha Thach <[email protected]> | 2021-08-20 22:21:30 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-08-20 22:21:30 +0700 |
| commit | 58477b71f2989bc24480cb6e90dfd61506ec0ccd (patch) | |
| tree | d4ae041de9cf357208d8afc39eb91dc3ddeca28e /src/host/hub.c | |
| parent | aab133ac69aaf371b5270850588e5d1cd6fb6de1 (diff) | |
| parent | beb1a5c678dd50c3142d2c74a29e92affa0b06c9 (diff) | |
Merge pull request #1035 from hathach/improve-host-stack
Improve host stack
Diffstat (limited to 'src/host/hub.c')
| -rw-r--r-- | src/host/hub.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/host/hub.c b/src/host/hub.c index 2ead5bed1..00dce4e65 100644 --- a/src/host/hub.c +++ b/src/host/hub.c @@ -147,16 +147,17 @@ void hub_init(void) tu_memclr(hub_data, CFG_TUSB_HOST_DEVICE_MAX*sizeof(hub_interface_t)); } -uint16_t hub_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const *itf_desc, uint16_t max_len) +bool hub_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const *itf_desc, uint16_t max_len) { - // hub driver does not support multiple TT yet TU_VERIFY(TUSB_CLASS_HUB == itf_desc->bInterfaceClass && - 0 == itf_desc->bInterfaceSubClass && - 1 <= itf_desc->bInterfaceProtocol, 0); + 0 == itf_desc->bInterfaceSubClass); + + // hub driver does not support multiple TT yet + TU_VERIFY(itf_desc->bInterfaceProtocol <= 1); // msc driver length is fixed uint16_t const drv_len = sizeof(tusb_desc_interface_t) + sizeof(tusb_desc_endpoint_t); - TU_ASSERT(drv_len <= max_len, 0); + TU_ASSERT(drv_len <= max_len); //------------- Interrupt Status endpoint -------------// tusb_desc_endpoint_t const *desc_ep = (tusb_desc_endpoint_t const *) tu_desc_next(itf_desc); @@ -169,7 +170,7 @@ uint16_t hub_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const hub_data[dev_addr-1].itf_num = itf_desc->bInterfaceNumber; hub_data[dev_addr-1].ep_in = desc_ep->bEndpointAddress; - return drv_len; + return true; } void hub_close(uint8_t dev_addr) |
