diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index 75e7840536037e4a1c28d9fdffdead038291cb00..add07fff449501721ad37116a5731e7c25d5d800 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -3570,6 +3570,9 @@ static irqreturn_t wm8962_irq(int irq, void *data) active = snd_soc_read(codec, WM8962_INTERRUPT_STATUS_2); active &= ~mask; + if (!active) + return IRQ_NONE; + /* Acknowledge the interrupts */ snd_soc_write(codec, WM8962_INTERRUPT_STATUS_2, active);