ASoC: msm: qdsp6v2: do not set cmd_interrupt flag in eos for gapless
cmd_interrupt flag is set during first stream's stop in gapless playback but it is not reset after receiving eos ack. This interrupts second stream partial drain and eos is sent to client, which leads to session close causing audio mute. Do not set cmd_interrupt during gapless transition to fix the issue as no one is waiting for eos. CRs-Fixed: 1012546 Change-Id: Ibcbdde0ea59ff80a798de0b894c2239899260860 Signed-off-by: Dhanalakshmi Siddani <dsiddani@codeaurora.org>
This commit is contained in:
parent
2e3808f57f
commit
f47eab663e
1 changed files with 9 additions and 2 deletions
|
@ -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__);
|
||||
/*
|
||||
* 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)) {
|
||||
|
|
Loading…
Add table
Reference in a new issue