Skip to content

Commit 53057bd

Browse files
TE-N-ShengjiuWanggregkh
authored andcommitted
ASoC: fsl_esai: Disable exception interrupt before scheduling tasklet
[ Upstream commit 1fecbb7 ] 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 <shengjiu.wang@nxp.com> Acked-by: Nicolin Chen <nicoleotsuka@gmail.com> Link: https://lore.kernel.org/r/a8f2ad955aac9e52587beedc1133b3efbe746895.1587968824.git.shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent b543c35 commit 53057bd

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)