diff options
-rw-r--r-- | drivers/leds/leds-qpnp-wled.c | 5 |
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; } |