From 9ce886a2580e84ddb7397df36c9874df7c1c687e Mon Sep 17 00:00:00 2001 From: Oskar Weigl Date: Wed, 1 Mar 2017 20:43:41 +0100 Subject: [PATCH] guard uninited semaphore use in IRQ --- Src/stm32f4xx_it.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Src/stm32f4xx_it.c b/Src/stm32f4xx_it.c index ead1bf2a..76a9d20e 100644 --- a/Src/stm32f4xx_it.c +++ b/Src/stm32f4xx_it.c @@ -203,7 +203,9 @@ void OTG_FS_IRQHandler(void) // Mask interrupt, and signal processing of interrupt by usb_cmd_thread // The thread will re-enable the interrupt when all pending irqs are clear. HAL_NVIC_DisableIRQ(OTG_FS_IRQn); - osSemaphoreRelease(sem_usb_irq); + if (sem_usb_irq) { + osSemaphoreRelease(sem_usb_irq); + } // Bypass interrupt processing here return;