diff options
author | Darwin Rambo | 2013-12-13 12:57:26 -0800 |
---|---|---|
committer | Heiko Schocher | 2014-01-13 08:17:51 +0100 |
commit | 7cc1b02f8f73fc0b5e1531a1e16b1c00819d5222 (patch) | |
tree | 706acdeb741c09d0bf63e989e51d7e8605ab7e7f /drivers/i2c/i2c_core.c | |
parent | 6d001e7df9e4b33b9be9bc4117091365b2ff1607 (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 <drambo@broadcom.com>
Reviewed-by: Tim Kryger <tim.kryger@linaro.org>
Reviewed-by: Steve Rae <srae@broadcom.com>
Acked-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
Diffstat (limited to 'drivers/i2c/i2c_core.c')
-rw-r--r-- | drivers/i2c/i2c_core.c | 2 |
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; } |