diff options
-rw-r--r-- | drivers/i2c/busses/i2c-uniphier.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-uniphier.c b/drivers/i2c/busses/i2c-uniphier.c index e3c3861c3325..2b2c20b3a57a 100644 --- a/drivers/i2c/busses/i2c-uniphier.c +++ b/drivers/i2c/busses/i2c-uniphier.c | |||
@@ -342,6 +342,10 @@ static int uniphier_i2c_clk_init(struct device *dev, | |||
342 | return ret; | 342 | return ret; |
343 | 343 | ||
344 | clk_rate = clk_get_rate(priv->clk); | 344 | clk_rate = clk_get_rate(priv->clk); |
345 | if (!clk_rate) { | ||
346 | dev_err(dev, "input clock rate should not be zero\n"); | ||
347 | return -EINVAL; | ||
348 | } | ||
345 | 349 | ||
346 | uniphier_i2c_reset(priv, true); | 350 | uniphier_i2c_reset(priv, true); |
347 | 351 | ||
@@ -388,7 +392,7 @@ static int uniphier_i2c_probe(struct platform_device *pdev) | |||
388 | 392 | ||
389 | ret = uniphier_i2c_clk_init(dev, priv); | 393 | ret = uniphier_i2c_clk_init(dev, priv); |
390 | if (ret) | 394 | if (ret) |
391 | return ret; | 395 | goto err; |
392 | 396 | ||
393 | ret = devm_request_irq(dev, irq, uniphier_i2c_interrupt, 0, pdev->name, | 397 | ret = devm_request_irq(dev, irq, uniphier_i2c_interrupt, 0, pdev->name, |
394 | priv); | 398 | priv); |