From: Mauro Carvalho Chehab <mchehab@redhat.com>
Date: Mon, 7 Jun 2010 15:10:14 +0000 (-0300)
Subject: V4L/DVB: tm6000: Fix copybuf continue logic
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=d0669c872ff68cac5ab312569e716c12171440a9;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git

V4L/DVB: tm6000: Fix copybuf continue logic

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---

diff --git a/drivers/staging/tm6000/tm6000-video.c b/drivers/staging/tm6000/tm6000-video.c
index 6bf2b1387bd..9a0b5a78c95 100644
--- a/drivers/staging/tm6000/tm6000-video.c
+++ b/drivers/staging/tm6000/tm6000-video.c
@@ -285,7 +285,7 @@ static int copy_streams(u8 *data, unsigned long len,
 				break;
 			case TM6000_URB_MSG_AUDIO:
 			case TM6000_URB_MSG_PTS:
-				cpysize = pktsize;	/* Size is always 180 bytes */
+				size = pktsize;		/* Size is always 180 bytes */
 				break;
 			}
 		} else {
@@ -315,7 +315,7 @@ static int copy_streams(u8 *data, unsigned long len,
 				break;
 			}
 		}
-		if (ptr + pktsize > endp) {
+		if (cpysize < size) {
 			/* End of URB packet, but cmd processing is not
 			 * complete. Preserve the state for a next packet
 			 */
@@ -323,7 +323,7 @@ static int copy_streams(u8 *data, unsigned long len,
 			dev->isoc_ctl.size = size - cpysize;
 			dev->isoc_ctl.cmd = cmd;
 			dev->isoc_ctl.pktsize = pktsize - (endp - ptr);
-			ptr += endp - ptr;
+			ptr += cpysize;
 		} else {
 			dev->isoc_ctl.cmd = 0;
 			ptr += pktsize;