summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSubbaraman Narayanamurthy <subbaram@codeaurora.org>2017-06-07 17:51:30 -0700
committerSubbaraman Narayanamurthy <subbaram@codeaurora.org>2017-06-12 12:04:38 -0700
commit1a3659dcd47dab3f2ca9199d07ba7a4603c29ea2 (patch)
tree9e3f80d0c92bdc379938d98bbd7f4e06b70b5044
parent4dba5345e14c61b041c0410b3d6614575515a57a (diff)
power: qpnp-fg-gen3: fix an unbalanced irq disable for delta_bsoc irq
Currently, rerun_election() is called on delta_bsoc_irq_en votable to disable delta_bsoc interrupt during probe. However, it doesn't set the internal variable for votable to not allow a similar vote again. When a vote is made later to disable the interrupt again, it can end up in invoking the callback again. This leads to an unbalanced interrupt disable warning. Fix it. CRs-Fixed: 2058754 Change-Id: I30c35be5275b5b310cf9b17ea4660a3e2e89c59a Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
-rw-r--r--drivers/power/supply/qcom/qpnp-fg-gen3.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/power/supply/qcom/qpnp-fg-gen3.c b/drivers/power/supply/qcom/qpnp-fg-gen3.c
index 6ef1eb379060..42915c5481e1 100644
--- a/drivers/power/supply/qcom/qpnp-fg-gen3.c
+++ b/drivers/power/supply/qcom/qpnp-fg-gen3.c
@@ -4419,7 +4419,7 @@ static int fg_gen3_probe(struct platform_device *pdev)
disable_irq_nosync(fg_irqs[SOC_UPDATE_IRQ].irq);
/* Keep BSOC_DELTA_IRQ irq disabled until we require it */
- rerun_election(chip->delta_bsoc_irq_en_votable);
+ vote(chip->delta_bsoc_irq_en_votable, DELTA_BSOC_IRQ_VOTER, false, 0);
rc = fg_debugfs_create(chip);
if (rc < 0) {