Disable clock before returning error in tegra_i2c_init()

Signed-off-by: Shardar Shariff Md <[email protected]>

---
Changes since v1:
- Move current patch as separate patch
---
 drivers/i2c/busses/i2c-tegra.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index d764d64..e8507f6 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -483,19 +483,21 @@ static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev)
                        if (time_after(jiffies, timeout)) {
                                dev_warn(i2c_dev->dev,
                                        "timeout waiting for config load\n");
-                               return -ETIMEDOUT;
+                               err = -ETIMEDOUT;
+                               goto err;
                        }
                        msleep(1);
                }
        }
 
-       tegra_i2c_clock_disable(i2c_dev);
 
        if (i2c_dev->irq_disabled) {
                i2c_dev->irq_disabled = 0;
                enable_irq(i2c_dev->irq);
        }
 
+err:
+       tegra_i2c_clock_disable(i2c_dev);
        return err;
 }
 
-- 
1.8.1.5

Reply via email to