summaryrefslogtreecommitdiffstats
path: root/drivers/i2c
diff options
context:
space:
mode:
authorShardar Shariff Md <smohammed@nvidia.com>2016-08-31 18:58:41 +0530
committerWolfram Sang <wsa@the-dreams.de>2016-09-08 22:33:19 +0200
commit2148c01ccea9203a153eadadf068c1be5a935495 (patch)
treed4ec3183f0f391590e185922824a8dbdf398c8de /drivers/i2c
parent685143a1598b36227250f6c0a90ec234218f58ff (diff)
downloadlinux-0-day-2148c01ccea9203a153eadadf068c1be5a935495.tar.gz
linux-0-day-2148c01ccea9203a153eadadf068c1be5a935495.tar.xz
i2c: tegra: If fifo flush fails return error
During i2c controller initialization, when fifo flush fails return error instead of returning the error during exit. Signed-off-by: Shardar Shariff Md <smohammed@nvidia.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/busses/i2c-tegra.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index e93c72aec5558..07a39b7c293af 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -494,6 +494,8 @@ static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev)
i2c_writel(i2c_dev, val, I2C_FIFO_CONTROL);
err = tegra_i2c_flush_fifos(i2c_dev);
+ if (err)
+ goto err;
if (i2c_dev->is_multimaster_mode && i2c_dev->hw->has_slcg_override_reg)
i2c_writel(i2c_dev, I2C_MST_CORE_CLKEN_OVR, I2C_CLKEN_OVERRIDE);