summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarwin Rambo <[email protected]>2013-12-13 12:57:26 -0800
committerHeiko Schocher <[email protected]>2014-01-13 08:17:51 +0100
commit7cc1b02f8f73fc0b5e1531a1e16b1c00819d5222 (patch)
tree706acdeb741c09d0bf63e989e51d7e8605ab7e7f
parent6d001e7df9e4b33b9be9bc4117091365b2ff1607 (diff)
i2c: Fix i2c speed command
This corrects i2c core to interpret the value returned by i2c_set_bus_speed as a success indicator rather than the actual speed that was set. When i2c_set_bus_speed returns a failure code, the speed is unknown so the adapter speed is set to zero. Signed-off-by: Darwin Rambo <[email protected]> Reviewed-by: Tim Kryger <[email protected]> Reviewed-by: Steve Rae <[email protected]> Acked-by: Jagannadha Sutradharudu Teki <[email protected]>
-rw-r--r--drivers/i2c/i2c_core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/i2c/i2c_core.c b/drivers/i2c/i2c_core.c
index e1767f4bd45..18d6736601c 100644
--- a/drivers/i2c/i2c_core.c
+++ b/drivers/i2c/i2c_core.c
@@ -349,7 +349,7 @@ unsigned int i2c_set_bus_speed(unsigned int speed)
return 0;
ret = I2C_ADAP->set_bus_speed(I2C_ADAP, speed);
if (gd->flags & GD_FLG_RELOC)
- I2C_ADAP->speed = ret;
+ I2C_ADAP->speed = (ret == 0) ? speed : 0;
return ret;
}