Merge "ASoC: msm: qdsp6v2: fix for pcm_write failure during voip"

This commit is contained in:
Linux Build Service Account 2015-05-11 06:36:03 -07:00 committed by Gerrit - the friendly Code Review server
commit 7c1dfe5b8a
1 changed files with 11 additions and 3 deletions

View File

@ -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 {