summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/leds/leds-qpnp-wled.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/leds/leds-qpnp-wled.c b/drivers/leds/leds-qpnp-wled.c
index 2ea84cc993ad..d5861e4a7a61 100644
--- a/drivers/leds/leds-qpnp-wled.c
+++ b/drivers/leds/leds-qpnp-wled.c
@@ -1521,7 +1521,7 @@ static irqreturn_t qpnp_wled_ovp_irq_handler(int irq, void *_wled)
QPNP_WLED_FAULT_STATUS(wled->ctrl_base), &fault_sts);
if (rc < 0) {
pr_err("Error in reading WLED_FAULT_STATUS rc=%d\n", rc);
- return IRQ_HANDLED;
+ goto END;
}
#ifndef CONFIG_MACH_LONGCHEER
@@ -1557,6 +1557,9 @@ static irqreturn_t qpnp_wled_ovp_irq_handler(int irq, void *_wled)
}
}
+END:
+ disable_irq_nosync(wled->ovp_irq);
+ wled->ovp_irq_disabled = true;
return IRQ_HANDLED;
}