aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/i2c/busses/i2c-uniphier.c6
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);