We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent e2c862b commit ffb1647Copy full SHA for ffb1647
src/pio_usb_host.c
@@ -195,6 +195,16 @@ static bool __no_inline_not_in_flash_func(connection_check)(root_port_t *port) {
195
port->connected = false;
196
port->suspended = true;
197
port->ints |= PIO_USB_INTS_DISCONNECT_BITS;
198
+
199
+ // failed/retired all queuing transfer in this root
200
+ uint8_t root_idx = port - PIO_USB_ROOT_PORT(0);
201
+ for (int ep_idx = 0; ep_idx < PIO_USB_EP_POOL_CNT; ep_idx++) {
202
+ endpoint_t *ep = PIO_USB_ENDPOINT(ep_idx);
203
+ if ((ep->root_idx == root_idx) && ep->size && ep->has_transfer) {
204
+ pio_usb_ll_transfer_complete(ep, PIO_USB_INTS_ENDPOINT_ERROR_BITS);
205
+ }
206
207
208
return false;
209
}
210
0 commit comments