summaryrefslogtreecommitdiffstatshomepage
path: root/stmhal/usbd_cdc_interface.c
diff options
context:
space:
mode:
Diffstat (limited to 'stmhal/usbd_cdc_interface.c')
-rw-r--r--stmhal/usbd_cdc_interface.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/stmhal/usbd_cdc_interface.c b/stmhal/usbd_cdc_interface.c
index 28f06067bb..e9b4863f6b 100644
--- a/stmhal/usbd_cdc_interface.c
+++ b/stmhal/usbd_cdc_interface.c
@@ -364,6 +364,8 @@ static int8_t CDC_Itf_Receive(uint8_t* Buf, uint32_t *Len) {
for (; src < buf_top; src++) {
if (*src == user_interrupt_char) {
char_found = true;
+ // raise exception when interrupts are finished
+ pendsv_nlr_jump(user_interrupt_data);
} else {
if (char_found) {
*dest = *src;
@@ -372,11 +374,6 @@ static int8_t CDC_Itf_Receive(uint8_t* Buf, uint32_t *Len) {
}
}
- if (char_found) {
- // raise exception when interrupts are finished
- pendsv_nlr_jump(user_interrupt_data);
- }
-
// length of remaining characters
delta_len = dest - Buf;
}