diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2015-11-30 18:53:34 +0900 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2015-12-14 10:59:05 +0100 |
commit | 2d5d23b96a4a660d0d04455150570c6257d4ce25 (patch) | |
tree | b5b2517431452c05dd47f5be026f9ce030ce41bf | |
parent | 1ff49b34bfd1261277d2c97ec48efb067b87f5e5 (diff) | |
download | linux-2d5d23b96a4a660d0d04455150570c6257d4ce25.tar.bz2 |
i2c: uniphier: error out if bus speed is zero
There is code to divide by "bus_speed" some lines below.
To eliminate the possibility of division by zero, bail out if
"clock-frequency" is specified as zero.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
-rw-r--r-- | drivers/i2c/busses/i2c-uniphier.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-uniphier.c b/drivers/i2c/busses/i2c-uniphier.c index 2b2c20b3a57a..1f4f3f53819c 100644 --- a/drivers/i2c/busses/i2c-uniphier.c +++ b/drivers/i2c/busses/i2c-uniphier.c @@ -327,6 +327,11 @@ static int uniphier_i2c_clk_init(struct device *dev, if (of_property_read_u32(np, "clock-frequency", &bus_speed)) bus_speed = UNIPHIER_I2C_DEFAULT_SPEED; + if (!bus_speed) { + dev_err(dev, "clock-freqyency should not be zero\n"); + return -EINVAL; + } + if (bus_speed > UNIPHIER_I2C_MAX_SPEED) bus_speed = UNIPHIER_I2C_MAX_SPEED; |