Skip to content

Commit 1fecbb7

Browse files
TE-N-ShengjiuWangbroonie
authored andcommitted
ASoC: fsl_esai: Disable exception interrupt before scheduling tasklet
Disable exception interrupt before scheduling tasklet, otherwise if the tasklet isn't handled immediately, there will be endless xrun interrupt. Fixes: 7ccafa2 ("ASoC: fsl_esai: recover the channel swap after xrun") Signed-off-by: Shengjiu Wang <[email protected]> Acked-by: Nicolin Chen <[email protected]> Link: https://lore.kernel.org/r/a8f2ad955aac9e52587beedc1133b3efbe746895.1587968824.git.shengjiu.wang@nxp.com Signed-off-by: Mark Brown <[email protected]>
1 parent c38b608 commit 1fecbb7

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

sound/soc/fsl/fsl_esai.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,10 @@ static irqreturn_t esai_isr(int irq, void *devid)
8787
if ((saisr & (ESAI_SAISR_TUE | ESAI_SAISR_ROE)) &&
8888
esai_priv->reset_at_xrun) {
8989
dev_dbg(&pdev->dev, "reset module for xrun\n");
90+
regmap_update_bits(esai_priv->regmap, REG_ESAI_TCR,
91+
ESAI_xCR_xEIE_MASK, 0);
92+
regmap_update_bits(esai_priv->regmap, REG_ESAI_RCR,
93+
ESAI_xCR_xEIE_MASK, 0);
9094
tasklet_schedule(&esai_priv->task);
9195
}
9296

0 commit comments

Comments
 (0)