Browse Source

Merge "asoc: Reset the buffer if size is partial or zero"

qctecmdr 4 years ago
parent
commit
98286c330c
1 changed files with 5 additions and 0 deletions
  1. 5 0
      asoc/msm-pcm-q6-v2.c

+ 5 - 0
asoc/msm-pcm-q6-v2.c

@@ -1008,6 +1008,11 @@ static int msm_pcm_capture_copy(struct snd_pcm_substream *substream,
 			xfer = size;
 		offset = prtd->in_frame_info[idx].offset;
 		pr_debug("Offset value = %d\n", offset);
+		if (size == 0 || size < fbytes) {
+			memset(bufptr + offset + size, 0, fbytes - size);
+			size = xfer = fbytes;
+		}
+
 		if (copy_to_user(buf, bufptr+offset, xfer)) {
 			pr_err("Failed to copy buf to user\n");
 			ret = -EFAULT;