summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@nxp.com>2019-07-05 17:48:29 +0800
committerShengjiu Wang <shengjiu.wang@nxp.com>2019-07-08 17:21:28 +0800
commitffbeccc86259a690d3afa5e0d44255a3fe649bfd (patch)
tree55a604b0f60c02ec8d666ae4981b1b90052ee93e /sound
parent4afca113ed588fc530d932e9d9ecdf9a4305adc7 (diff)
MLK-22168-2: fsl_easrc:fix timeout issue if STOP_CONV is not called
When error happen, user may not call STOP_CONV to stop the context, then there will be "input DMA task timeout" issue for next m2m task. In this patch, fsl_easrc_stop_context is called in RELEASE_PAIR to make sure context is stopped. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/fsl/fsl_easrc_m2m.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/soc/fsl/fsl_easrc_m2m.c b/sound/soc/fsl/fsl_easrc_m2m.c
index 4a44df1e564e..74fb36ccad00 100644
--- a/sound/soc/fsl/fsl_easrc_m2m.c
+++ b/sound/soc/fsl/fsl_easrc_m2m.c
@@ -585,7 +585,10 @@ static long fsl_easrc_ioctl_release_context(struct fsl_easrc_m2m *m2m,
return -EINVAL;
}
- m2m->easrc_active = 0;
+ if (m2m->easrc_active) {
+ m2m->easrc_active = 0;
+ fsl_easrc_stop_context(ctx);
+ }
spin_lock_irqsave(&m2m->lock, lock_flags);
m2m->ctx_hold = 0;