Merge "ASoC: msm: qdsp6v2: fix for pcm_write failure during voip"
This commit is contained in:
commit
7c1dfe5b8a
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (c) 2012-2014, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
|
@ -493,7 +493,11 @@ static void voip_process_ul_pkt(uint8_t *voc_pkt,
|
|||
pr_debug("%s: pkt_len =%d, frame.pktlen=%d, timestamp=%d\n",
|
||||
__func__, pkt_len, buf_node->frame.pktlen, timestamp);
|
||||
|
||||
prtd->pcm_capture_irq_pos += prtd->pcm_capture_count;
|
||||
if (prtd->mode == MODE_PCM)
|
||||
prtd->pcm_capture_irq_pos += buf_node->frame.pktlen;
|
||||
else
|
||||
prtd->pcm_capture_irq_pos += prtd->pcm_capture_count;
|
||||
|
||||
spin_unlock_irqrestore(&prtd->dsp_ul_lock, dsp_flags);
|
||||
snd_pcm_period_elapsed(prtd->capture_substream);
|
||||
} else {
|
||||
|
@ -654,7 +658,11 @@ static void voip_process_dl_pkt(uint8_t *voc_pkt, void *private_data)
|
|||
}
|
||||
pr_debug("%s: frame.pktlen=%d\n", __func__, buf_node->frame.pktlen);
|
||||
|
||||
prtd->pcm_playback_irq_pos += prtd->pcm_count;
|
||||
if (prtd->mode == MODE_PCM)
|
||||
prtd->pcm_playback_irq_pos += buf_node->frame.pktlen;
|
||||
else
|
||||
prtd->pcm_playback_irq_pos += prtd->pcm_count;
|
||||
|
||||
spin_unlock_irqrestore(&prtd->dsp_lock, dsp_flags);
|
||||
snd_pcm_period_elapsed(prtd->playback_substream);
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue