implement hcd_edpt_abort_xfer() for EHCI, also move thing around a bit
This commit is contained in:
		@@ -172,6 +172,7 @@ bool hcd_edpt_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_endpoint_t const
 | 
			
		||||
bool hcd_edpt_xfer(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr, uint8_t * buffer, uint16_t buflen);
 | 
			
		||||
 | 
			
		||||
// Abort a queued transfer. Note: it can only abort transfer that has not been started
 | 
			
		||||
// Return true if a queued transfer is aborted, false if there is no transfer to abort
 | 
			
		||||
bool hcd_edpt_abort_xfer(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr);
 | 
			
		||||
 | 
			
		||||
// Submit a special transfer to send 8-byte Setup Packet, when complete hcd_event_xfer_complete() must be invoked
 | 
			
		||||
 
 | 
			
		||||
@@ -718,9 +718,15 @@ bool tuh_edpt_abort_xfer(uint8_t daddr, uint8_t ep_addr) {
 | 
			
		||||
  uint8_t const dir   = tu_edpt_dir(ep_addr);
 | 
			
		||||
 | 
			
		||||
  // skip if not busy
 | 
			
		||||
  if (!dev->ep_status[epnum][dir].busy) return true;
 | 
			
		||||
  TU_VERIFY(dev->ep_status[epnum][dir].busy);
 | 
			
		||||
 | 
			
		||||
  return hcd_edpt_abort_xfer(dev->rhport, daddr, ep_addr);
 | 
			
		||||
  bool const ret = hcd_edpt_abort_xfer(dev->rhport, daddr, ep_addr);
 | 
			
		||||
  if (ret) {
 | 
			
		||||
    // mark as ready if transfer is aborted
 | 
			
		||||
    dev->ep_status[epnum][dir].busy = false;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------+
 | 
			
		||||
 
 | 
			
		||||
@@ -176,6 +176,7 @@ bool tuh_edpt_xfer(tuh_xfer_t* xfer);
 | 
			
		||||
bool tuh_edpt_open(uint8_t daddr, tusb_desc_endpoint_t const * desc_ep);
 | 
			
		||||
 | 
			
		||||
// Abort a queued transfer. Note: it can only abort transfer that has not been started
 | 
			
		||||
// Return true if a queued transfer is aborted, false if there is no transfer to abort
 | 
			
		||||
bool tuh_edpt_abort_xfer(uint8_t daddr, uint8_t ep_addr);
 | 
			
		||||
 | 
			
		||||
// Set Configuration (control transfer)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user