fix(hcd) hcd_edpt_open() return true if endpoint is already opened.
This commit is contained in:
@@ -611,7 +611,7 @@ bool hcd_edpt_open(uint8_t rhport, uint8_t daddr, tusb_desc_endpoint_t const * e
|
||||
ep = &_hcd_data.ep[0];
|
||||
}else {
|
||||
if (NULL != find_ep_not_addr0(daddr, ep_num, ep_dir)) {
|
||||
return false; // endpoint already opened
|
||||
return true; // already opened
|
||||
}
|
||||
ep = allocate_ep();
|
||||
TU_ASSERT(ep);
|
||||
|
||||
@@ -381,7 +381,9 @@ bool hcd_edpt_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_endpoint_t const
|
||||
if (ep_desc->bEndpointAddress == 0) {
|
||||
p_qhd = qhd_control(dev_addr);
|
||||
} else {
|
||||
TU_VERIFY(NULL == qhd_get_from_addr(dev_addr, ep_desc->bEndpointAddress)); // ep not opened yet
|
||||
if (NULL != qhd_get_from_addr(dev_addr, ep_desc->bEndpointAddress)) {
|
||||
return true; // already opened
|
||||
}
|
||||
p_qhd = qhd_find_free();
|
||||
}
|
||||
TU_ASSERT(p_qhd);
|
||||
|
||||
Reference in New Issue
Block a user