summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWilliam D. Jones <[email protected]>2019-01-23 02:24:29 -0500
committerWilliam D. Jones <[email protected]>2019-01-23 02:24:29 -0500
commitb41f6105142e128bfa7641fbe001aeceb2dc5dd9 (patch)
tree1003a9c05fa10814eee283fcf7d5d452953deeec /src
parent836d13fc4b6d945c600bc269b58fec8e6e755be9 (diff)
stm32f4: Remember to turn off TXFE when IN xfer is done; it not
automatically cleared like EPENA.
Diffstat (limited to 'src')
-rw-r--r--src/portable/stm/stm32f4/dcd_stm32f4.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/portable/stm/stm32f4/dcd_stm32f4.c b/src/portable/stm/stm32f4/dcd_stm32f4.c
index 2abf0465b..a98a0ed53 100644
--- a/src/portable/stm/stm32f4/dcd_stm32f4.c
+++ b/src/portable/stm/stm32f4/dcd_stm32f4.c
@@ -484,6 +484,7 @@ void OTG_FS_IRQHandler(void) {
// IN XFER complete.
if(in_ep[n].DIEPINT & USB_OTG_DIEPINT_XFRC) {
in_ep[n].DIEPINT = USB_OTG_DIEPINT_XFRC;
+ dev->DIEPEMPMSK &= ~(1 << n); // Turn off TXFE b/c xfer inactive.
dcd_event_xfer_complete(0, n | TUSB_DIR_IN_MASK, xfer->total_len, XFER_RESULT_SUCCESS, true);
}