i2c: i2c-stm32f7: fix 10-bits check in slave free id search loop
authorAlain Volmat <alain.volmat@st.com>
Tue, 12 Nov 2019 08:19:44 +0000 (09:19 +0100)
committerWolfram Sang <wsa@the-dreams.de>
Mon, 25 Nov 2019 14:50:01 +0000 (15:50 +0100)
Fix a typo in the free slave id search loop. Instead of I2C_CLIENT_PEC,
it should have been I2C_CLIENT_TEN. The slave id 1 can only handle 7-bit
addresses and thus is not eligible in case of 10-bit addresses.
As a matter of fact none of the slave id support I2C_CLIENT_PEC, overall
check is performed at the beginning of the stm32f7_i2c_reg_slave function.

Fixes: 60d609f30de2 ("i2c: i2c-stm32f7: Add slave support")
Signed-off-by: Alain Volmat <alain.volmat@st.com>
Reviewed-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-stm32f7.c

index 5a51f6b501f86640cffbf2ff316ede77f2ddf41c..fcaabb52364619b775e78f7291656c34bba80373 100644 (file)
@@ -1266,7 +1266,7 @@ static int stm32f7_i2c_get_free_slave_id(struct stm32f7_i2c_dev *i2c_dev,
         * slave[1] supports 7-bit slave address only
         */
        for (i = STM32F7_I2C_MAX_SLAVE - 1; i >= 0; i--) {
-               if (i == 1 && (slave->flags & I2C_CLIENT_PEC))
+               if (i == 1 && (slave->flags & I2C_CLIENT_TEN))
                        continue;
                if (!i2c_dev->slave[i]) {
                        *id = i;