diff --git a/os/hal/src/hal_usb.c b/os/hal/src/hal_usb.c index 028e42152..813c2a597 100644 --- a/os/hal/src/hal_usb.c +++ b/os/hal/src/hal_usb.c @@ -417,14 +417,12 @@ void usbDisableEndpointsI(USBDriver *usbp) { #if USB_USE_WAIT == TRUE /* Signaling the event to threads waiting on endpoints.*/ if (usbp->epc[i] != NULL) { - osalSysLockFromISR(); if (usbp->epc[i]->in_state != NULL) { osalThreadResumeI(&usbp->epc[i]->in_state->thread, MSG_RESET); } if (usbp->epc[i]->out_state != NULL) { osalThreadResumeI(&usbp->epc[i]->out_state->thread, MSG_RESET); } - osalSysUnlockFromISR(); } #endif usbp->epc[i] = NULL; diff --git a/readme.txt b/readme.txt index 6914ab199..b1da2e655 100644 --- a/readme.txt +++ b/readme.txt @@ -153,6 +153,8 @@ - RT: Merged RT4. - NIL: Merged NIL2. - NIL: Added STM32F7 demo. +- HAL: Fixed protocol violation in usbDisableEndpointsI() API (bug #811) + (backported to 16.1.7). - HAL: Fixed redefined TIM in STM32F030 registry (bug #809) (backported to 16.1.7). - HAL: Fixed clock init in STM32F0x port which doesn't take in account