mirror of
https://github.com/hathach/tinyusb.git
synced 2025-01-17 05:32:55 +08:00
ESP32-S2: Detect EP IN Xfer Timeout
In some rare ocasions (bad cable, noise, etc.) data transfer might timeout and hang the endpoint, unless the interrupt flag is cleared. This pull request targets to solve that case.
This commit is contained in:
parent
0c9932440b
commit
d493724a7b
@ -637,6 +637,13 @@ static void handle_epin_ints(void)
|
||||
USB0.dtknqr4_fifoemptymsk &= ~(1 << n);
|
||||
}
|
||||
}
|
||||
|
||||
// XFER Timeout
|
||||
if (USB0.in_ep_reg[n].diepint & USB_D_TIMEOUT0_M) {
|
||||
// Clear interrupt or enpoint will hang.
|
||||
USB0.in_ep_reg[n].diepint = USB_D_TIMEOUT0_M;
|
||||
// Maybe retry?
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user