mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 00:51:42 +01:00 
			
		
		
		
	fix(freertos): Fixed bug with prvENTER/EXIT_CRITICAL_OR_MASK_ISR() macro
Fixed an undiscovered bug with prvENTER_CRITICAL_OR_MASK_ISR() and prvEXIT_CRITICAL_OR_MASK_ISR() where the `uxInterruptStatus` argument was not used. However, all calls of this macro provide a local `uxSavedInterruptStatus` variable, leading to this bug being hidden.
This commit is contained in:
		@@ -3458,10 +3458,10 @@ BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp ) PRIVILEGED_FUNCTION;
 | 
			
		||||
    #define prvENTER_CRITICAL_OR_SUSPEND_ALL( x )  ( { vTaskSuspendAll(); ( void ) ( x ); } )
 | 
			
		||||
    #define prvEXIT_CRITICAL_OR_RESUME_ALL( x )    xTaskResumeAll()
 | 
			
		||||
    #define prvENTER_CRITICAL_OR_MASK_ISR( pxLock, uxInterruptStatus )  \
 | 
			
		||||
        ( uxSavedInterruptStatus ) = portSET_INTERRUPT_MASK_FROM_ISR(); \
 | 
			
		||||
        ( uxInterruptStatus ) = portSET_INTERRUPT_MASK_FROM_ISR();      \
 | 
			
		||||
        ( void ) ( pxLock );
 | 
			
		||||
    #define prvEXIT_CRITICAL_OR_UNMASK_ISR( pxLock, uxInterruptStatus )  \
 | 
			
		||||
        portCLEAR_INTERRUPT_MASK_FROM_ISR( ( uxSavedInterruptStatus ) ); \
 | 
			
		||||
        portCLEAR_INTERRUPT_MASK_FROM_ISR( ( uxInterruptStatus ) );      \
 | 
			
		||||
        ( void ) ( pxLock );
 | 
			
		||||
#endif /* configNUM_CORES > 1 */
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user