Skip to content

Commit a9dd006

Browse files
committed
dmic: stop dmic at xrun to avoid interrupt flooding
Once an Xrun happens, only clearing the interrupt can't recover it, stop the dmic to avoid interrupt flooding. This will lead to subsequent pipeline Xrun and eventually the pipeline will be stopped. Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
1 parent 73a528e commit a9dd006

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/drivers/intel/dmic.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1536,11 +1536,13 @@ static void dmic_irq_handler(void *data)
15361536
if (val0 & OUTSTAT0_ROR_BIT) {
15371537
dai_err(dai, "dmic_irq_handler(): full fifo A or PDM overrun");
15381538
dai_write(dai, OUTSTAT0, val0);
1539+
dmic_stop(dai);
15391540
}
15401541

15411542
if (val1 & OUTSTAT1_ROR_BIT) {
15421543
dai_err(dai, "dmic_irq_handler(): full fifo B or PDM overrun");
15431544
dai_write(dai, OUTSTAT1, val1);
1545+
dmic_stop(dai);
15441546
}
15451547
}
15461548

0 commit comments

Comments
 (0)