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>
This commit is contained in:
Subbaraman Narayanamurthy 2017-06-07 17:51:30 -07:00
parent 4dba5345e1
commit 1a3659dcd4

View file

@ -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) {