summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMasterPhi <[email protected]>2021-09-14 21:08:12 +0200
committerMasterPhi <[email protected]>2021-09-14 21:08:12 +0200
commit0ded1c5bacfba180bb5f6fef2f7cb469adbe19f6 (patch)
tree91a8c4e409fb06bc8fa71db6ec050d2c69f8f16a /src
parent36391680660f1ec0960003eece7e7605c29574af (diff)
Reset EP flags on close.
Diffstat (limited to 'src')
-rw-r--r--src/device/usbd.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/device/usbd.c b/src/device/usbd.c
index 1184f8e47..3043fc7bc 100644
--- a/src/device/usbd.c
+++ b/src/device/usbd.c
@@ -1379,7 +1379,13 @@ void usbd_edpt_close(uint8_t rhport, uint8_t ep_addr)
TU_ASSERT(dcd_edpt_close, /**/);
TU_LOG2(" CLOSING Endpoint: 0x%02X\r\n", ep_addr);
+ uint8_t const epnum = tu_edpt_number(ep_addr);
+ uint8_t const dir = tu_edpt_dir(ep_addr);
+
dcd_edpt_close(rhport, ep_addr);
+ _usbd_dev.ep_status[epnum][dir].stalled = false;
+ _usbd_dev.ep_status[epnum][dir].busy = false;
+ _usbd_dev.ep_status[epnum][dir].claimed = false;
return;
}