浏览代码

i2c: Fix deselection of muxes

Due to an uninitialised variable, when muxes were deselected, any value
could be written to the mux control register. On the PCA9548, this could
result in multiple channels being selected, thus enabling multiple
pull-up resistors, and much bus capacitance.

The fix is simply to initialise the written value to zero.

Signed-off-by: Mark Tomlinson <mark.tomlinson@alliedtelesis.co.nz>
Mark Tomlinson 10 年之前
父节点
当前提交
2fe50ef403
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/i2c/i2c_core.c

+ 1 - 1
drivers/i2c/i2c_core.c

@@ -178,7 +178,7 @@ static int i2c_mux_disconnet_all(void)
 {
 	struct	i2c_bus_hose *i2c_bus_tmp = &i2c_bus[I2C_BUS];
 	int	i;
-	uint8_t	buf;
+	uint8_t	buf = 0;
 
 	if (I2C_ADAP->init_done == 0)
 		return 0;