@@ -84,7 +84,9 @@ void usb_osal_thread_delete(usb_osal_thread_t thread)
8484{
8585 OS_ERR err ;
8686 OS_TCB * tcb ;
87+ CPU_SR_ALLOC ();
8788
89+ CPU_CRITICAL_ENTER ();
8890 if (thread == NULL ) {
8991 tcb = OSTCBCurPtr ;
9092 } else {
@@ -93,6 +95,7 @@ void usb_osal_thread_delete(usb_osal_thread_t thread)
9395
9496 OSTaskDel (tcb , & err );
9597 usb_osal_free (tcb );
98+ CPU_CRITICAL_EXIT ();
9699}
97100
98101void usb_osal_thread_schedule_other (void )
@@ -131,9 +134,12 @@ usb_osal_sem_t usb_osal_sem_create(uint32_t initial_count)
131134void usb_osal_sem_delete (usb_osal_sem_t sem )
132135{
133136 OS_ERR err ;
137+ CPU_SR_ALLOC ();
134138
139+ CPU_CRITICAL_ENTER ();
135140 OSSemDel ((OS_SEM * )sem , OS_OPT_DEL_ALWAYS , & err );
136141 usb_osal_free (sem );
142+ CPU_CRITICAL_EXIT ();
137143}
138144
139145int usb_osal_sem_take (usb_osal_sem_t sem , uint32_t timeout )
@@ -197,9 +203,12 @@ usb_osal_mutex_t usb_osal_mutex_create(void)
197203void usb_osal_mutex_delete (usb_osal_mutex_t mutex )
198204{
199205 OS_ERR err ;
206+ CPU_SR_ALLOC ();
200207
208+ CPU_CRITICAL_ENTER ();
201209 OSMutexDel ((OS_MUTEX * )mutex , OS_OPT_DEL_ALWAYS , & err );
202210 usb_osal_free (mutex );
211+ CPU_CRITICAL_EXIT ();
203212}
204213
205214int usb_osal_mutex_take (usb_osal_mutex_t mutex )
@@ -251,9 +260,12 @@ usb_osal_mq_t usb_osal_mq_create(uint32_t max_msgs)
251260void usb_osal_mq_delete (usb_osal_mq_t mq )
252261{
253262 OS_ERR err ;
263+ CPU_SR_ALLOC ();
254264
265+ CPU_CRITICAL_ENTER ();
255266 OSQDel ((OS_Q * )mq , OS_OPT_DEL_ALWAYS , & err );
256267 usb_osal_free (mq );
268+ CPU_CRITICAL_EXIT ();
257269}
258270
259271int usb_osal_mq_send (usb_osal_mq_t mq , uintptr_t addr )
@@ -354,11 +366,14 @@ struct usb_osal_timer *usb_osal_timer_create(const char *name, uint32_t timeout_
354366void usb_osal_timer_delete (struct usb_osal_timer * timer )
355367{
356368 OS_ERR err ;
369+ CPU_SR_ALLOC ();
357370
371+ CPU_CRITICAL_ENTER ();
358372 OSTmrStop ((OS_TMR * )timer -> timer , OS_OPT_TMR_NONE , NULL , & err );
359373 OSTmrDel ((OS_TMR * )timer -> timer , & err );
360374 usb_osal_free (timer -> timer );
361375 usb_osal_free (timer );
376+ CPU_CRITICAL_EXIT ();
362377}
363378
364379void usb_osal_timer_start (struct usb_osal_timer * timer )
0 commit comments