All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/2] i2c: Fix deselection of muxes
@ 2014-12-01 19:49 Mark Tomlinson
  2014-12-01 19:49 ` [U-Boot] [PATCH 2/2] i2c: Correct spelling error Mark Tomlinson
  2014-12-03  7:35 ` [U-Boot] [PATCH 1/2] i2c: Fix deselection of muxes Chris Packham
  0 siblings, 2 replies; 4+ messages in thread
From: Mark Tomlinson @ 2014-12-01 19:49 UTC (permalink / raw)
  To: u-boot

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>
---
 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

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-12-03  7:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-01 19:49 [U-Boot] [PATCH 1/2] i2c: Fix deselection of muxes Mark Tomlinson
2014-12-01 19:49 ` [U-Boot] [PATCH 2/2] i2c: Correct spelling error Mark Tomlinson
2014-12-03  7:36   ` Chris Packham
2014-12-03  7:35 ` [U-Boot] [PATCH 1/2] i2c: Fix deselection of muxes Chris Packham

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.