2013-04-17 23:25:56

by Jonghwan Choi

[permalink] [raw]
Subject: [PATCH 3.8-stable] regmap: irq: call pm_runtime_put in pm_runtime_get_sync

3.8-stable review patch. If anyone has any objections, please let me know.


From: "Li Fei <[email protected]>"

commit 283189d3be56aa6db6f192bb255df68493cd79ac upstream.

Even in failed case of pm_runtime_get_sync, the usage_count
is incremented. In order to keep the usage_count with correct
value and runtime power management to behave correctly, call
pm_runtime_put(_sync) in such case.

Signed-off-by Liu Chuansheng <[email protected]>
Signed-off-by: Li Fei <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Jonghwan Choi <[email protected]>
drivers/base/regmap/regmap-irq.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/base/regmap/regmap-irq.c
index 5972ad9..d623eea 100644
--- a/drivers/base/regmap/regmap-irq.c
+++ b/drivers/base/regmap/regmap-irq.c
@@ -167,6 +167,7 @@ static irqreturn_t regmap_irq_thread(int irq, void *d)
if (ret < 0) {
dev_err(map->dev, "IRQ thread failed to resume:
+ pm_runtime_put(map->dev);
return IRQ_NONE;