diff options
| author | Subbaraman Narayanamurthy <subbaram@codeaurora.org> | 2017-06-07 17:51:30 -0700 |
|---|---|---|
| committer | Subbaraman Narayanamurthy <subbaram@codeaurora.org> | 2017-06-12 12:04:38 -0700 |
| commit | 1a3659dcd47dab3f2ca9199d07ba7a4603c29ea2 (patch) | |
| tree | 9e3f80d0c92bdc379938d98bbd7f4e06b70b5044 | |
| parent | 4dba5345e14c61b041c0410b3d6614575515a57a (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.c | 2 |
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) { |
