mirror of https://github.com/ARMmbed/mbed-os.git
				
				
				
			STM32: Correct I2C master error handling
If I2C slave support is included, then the I2C error handler would always reset the I2C address, resulting in incorrectly changing the I2C state to listen for a controller configured as I2C master. This change conditionalizes the address setting to only occur if the controller was in slave mode when the error occurred.pull/4012/head
							parent
							
								
									75f6f2db30
								
							
						
					
					
						commit
						2eb4048bbe
					
				| 
						 | 
				
			
			@ -904,7 +904,10 @@ void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c){
 | 
			
		|||
 | 
			
		||||
#if DEVICE_I2CSLAVE
 | 
			
		||||
    /*  restore slave address */
 | 
			
		||||
    i2c_slave_address(obj, 0, address, 0);
 | 
			
		||||
    if (address != 0) {
 | 
			
		||||
        obj_s->slave = 1;
 | 
			
		||||
        i2c_slave_address(obj, 0, address, 0);
 | 
			
		||||
    }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    /* Keep Set event flag */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue