Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 859e05ec authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "drivers: qpnp-bms: Use disable_irq_nosync() in IRQ context"

parents d7d7e828 e44e8944
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -408,6 +408,14 @@ static void disable_bms_irq(struct bms_irq *irq)
	}
}

static void disable_bms_irq_nosync(struct bms_irq *irq)
{
	if (!__test_and_set_bit(0, &irq->disabled)) {
		disable_irq_nosync(irq->irq);
		pr_debug("disabled irq %d\n", irq->irq);
	}
}

#define HOLD_OREG_DATA		BIT(0)
static int lock_output_data(struct qpnp_bms_chip *chip)
{
@@ -3553,7 +3561,7 @@ static irqreturn_t bms_sw_cc_thr_irq_handler(int irq, void *_chip)
	struct qpnp_bms_chip *chip = _chip;

	pr_debug("sw_cc_thr irq triggered\n");
	disable_bms_irq(&chip->sw_cc_thr_irq);
	disable_bms_irq_nosync(&chip->sw_cc_thr_irq);
	bms_stay_awake(&chip->soc_wake_source);
	schedule_work(&chip->recalc_work);
	return IRQ_HANDLED;