diff options
Diffstat (limited to 'sound/soc')
-rwxr-xr-x | sound/soc/msm/qdsp6v2/msm-compress-q6-v2.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sound/soc/msm/qdsp6v2/msm-compress-q6-v2.c b/sound/soc/msm/qdsp6v2/msm-compress-q6-v2.c index a7ed5381e690..00519a454fb4 100755 --- a/sound/soc/msm/qdsp6v2/msm-compress-q6-v2.c +++ b/sound/soc/msm/qdsp6v2/msm-compress-q6-v2.c @@ -1533,8 +1533,15 @@ static int msm_compr_trigger(struct snd_compr_stream *cstream, int cmd) } if (atomic_read(&prtd->eos)) { pr_debug("%s: interrupt eos wait queues", __func__); - prtd->cmd_interrupt = 1; - wake_up(&prtd->eos_wait); + /* + * Gapless playback does not wait for eos, do not set + * cmd_int and do not wake up eos_wait during gapless + * transition + */ + if (!prtd->gapless_state.gapless_transition) { + prtd->cmd_interrupt = 1; + wake_up(&prtd->eos_wait); + } atomic_set(&prtd->eos, 0); } if (atomic_read(&prtd->drain)) { |