From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Tomlinson Date: Tue, 2 Dec 2014 08:49:18 +1300 Subject: [U-Boot] [PATCH 1/2] i2c: Fix deselection of muxes Message-ID: <1417463359-3796-1-git-send-email-mark.tomlinson@alliedtelesis.co.nz> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 --- drivers/i2c/i2c_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/i2c/i2c_core.c b/drivers/i2c/i2c_core.c index d34b749..4539667 100644 --- a/drivers/i2c/i2c_core.c +++ b/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; -- 1.9.1