提交 21e9efd9 编写于 作者: S Shardar Shariff Md 提交者: Wolfram Sang

i2c: tegra: disable clock before returning error

Disable clock before returning error in tegra_i2c_init() as its leaves
i2c clock ON in case of error and never turns off again as it will have
unbalanced clock enable/disable
Signed-off-by: NShardar Shariff Md <smohammed@nvidia.com>
Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
上级 3f30e40b
...@@ -483,19 +483,20 @@ static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev) ...@@ -483,19 +483,20 @@ static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev)
if (time_after(jiffies, timeout)) { if (time_after(jiffies, timeout)) {
dev_warn(i2c_dev->dev, dev_warn(i2c_dev->dev,
"timeout waiting for config load\n"); "timeout waiting for config load\n");
return -ETIMEDOUT; err = -ETIMEDOUT;
goto err;
} }
msleep(1); msleep(1);
} }
} }
tegra_i2c_clock_disable(i2c_dev);
if (i2c_dev->irq_disabled) { if (i2c_dev->irq_disabled) {
i2c_dev->irq_disabled = 0; i2c_dev->irq_disabled = 0;
enable_irq(i2c_dev->irq); enable_irq(i2c_dev->irq);
} }
err:
tegra_i2c_clock_disable(i2c_dev);
return err; return err;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册