|
@@ -4086,7 +4086,8 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
|
|
if (wm8994->micdet_irq)
|
|
if (wm8994->micdet_irq)
|
|
ret = request_threaded_irq(wm8994->micdet_irq, NULL,
|
|
ret = request_threaded_irq(wm8994->micdet_irq, NULL,
|
|
wm8994_mic_irq,
|
|
wm8994_mic_irq,
|
|
- IRQF_TRIGGER_RISING,
|
|
|
|
|
|
+ IRQF_TRIGGER_RISING |
|
|
|
|
+ IRQF_ONESHOT,
|
|
"Mic1 detect",
|
|
"Mic1 detect",
|
|
wm8994);
|
|
wm8994);
|
|
else
|
|
else
|
|
@@ -4134,7 +4135,8 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
|
|
if (wm8994->micdet_irq) {
|
|
if (wm8994->micdet_irq) {
|
|
ret = request_threaded_irq(wm8994->micdet_irq, NULL,
|
|
ret = request_threaded_irq(wm8994->micdet_irq, NULL,
|
|
wm8958_mic_irq,
|
|
wm8958_mic_irq,
|
|
- IRQF_TRIGGER_RISING,
|
|
|
|
|
|
+ IRQF_TRIGGER_RISING |
|
|
|
|
+ IRQF_ONESHOT,
|
|
"Mic detect",
|
|
"Mic detect",
|
|
wm8994);
|
|
wm8994);
|
|
if (ret != 0)
|
|
if (ret != 0)
|