All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 1/4] i2c: tegra: disable clock before returning error
@ 2016-04-25 13:38 ` Shardar Shariff Md
  0 siblings, 0 replies; 14+ messages in thread
From: Shardar Shariff Md @ 2016-04-25 13:38 UTC (permalink / raw)
  To: ldewangan-DDmLM1+adcrQT0dZR+AlfA, wsa-z923LK4zBo2bacvFa/9K2g,
	swarren-3lzwWm7+Weoh9ZMKESR00Q,
	thierry.reding-Re5JQEeQqe8AvxtiuMwx3w,
	gnurou-Re5JQEeQqe8AvxtiuMwx3w, linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	jonathanh-DDmLM1+adcrQT0dZR+AlfA
  Cc: Shardar Shariff Md

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: Shardar Shariff Md <smohammed-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

---
Changes in v5:
- Move current patch as separate patch

Changes in v6:
- Remove unnecessary line

Changes in v7
- Updated commit message with description of issue
---
 drivers/i2c/busses/i2c-tegra.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index d764d64..445398c3 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -483,19 +483,20 @@ 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

^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2016-05-11 14:48 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-25 13:38 [PATCH v7 1/4] i2c: tegra: disable clock before returning error Shardar Shariff Md
2016-04-25 13:38 ` Shardar Shariff Md
     [not found] ` <1461591519-24602-1-git-send-email-smohammed-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-04-25 13:38   ` [PATCH v7 2/4] i2c: tegra: calculate timeout for config load when needed Shardar Shariff Md
2016-04-25 13:38     ` Shardar Shariff Md
     [not found]     ` <1461591519-24602-2-git-send-email-smohammed-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-05-11 14:42       ` Wolfram Sang
2016-05-11 14:42         ` Wolfram Sang
2016-04-25 13:38   ` [PATCH v7 4/4] i2c: tegra: proper handling of error cases Shardar Shariff Md
2016-04-25 13:38     ` Shardar Shariff Md
2016-05-11 14:47     ` Wolfram Sang
2016-04-25 13:54   ` [PATCH v7 1/4] i2c: tegra: disable clock before returning error Wolfram Sang
2016-04-25 13:54     ` Wolfram Sang
2016-04-25 13:38 ` [PATCH v7 3/4] i2c: tegra: add separate function for config_load Shardar Shariff Md
2016-04-25 13:38   ` Shardar Shariff Md
2016-05-11 14:33 ` [PATCH v7 1/4] i2c: tegra: disable clock before returning error Wolfram Sang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.