From: Darwin Rambo Date: Fri, 13 Dec 2013 20:57:26 +0000 (-0800) Subject: i2c: Fix i2c speed command X-Git-Tag: v2014.01~12^2~2 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=7cc1b02f8f73fc0b5e1531a1e16b1c00819d5222;p=oweals%2Fu-boot.git 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 Reviewed-by: Tim Kryger Reviewed-by: Steve Rae Acked-by: Jagannadha Sutradharudu Teki --- diff --git a/drivers/i2c/i2c_core.c b/drivers/i2c/i2c_core.c index e1767f4bd4..18d6736601 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; }