[media] em28xx: fix video data start position calculation in em28xx_urb_data_copy_vbi()
authorFrank Schaefer <fschaefer.oss@googlemail.com>
Sun, 25 Nov 2012 09:37:32 +0000 (06:37 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 22 Dec 2012 21:02:32 +0000 (19:02 -0200)
The header check/removal code at the end of function em28xx_urb_data_copy_vbi()
is obsolete, because this is already done earlier in this function.
In fact it is incomplete (doesn't check for vbi header) and causes trouble
when the first data bytes are the same as header bytes (which is fortunately
very unlikely).

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/usb/em28xx/em28xx-video.c

index c7e23dd73b8846cd1d98917da4ad27235be2486c..fec8847e84d82b5fe7f82a9ddbea09debf8f4e02 100644 (file)
@@ -678,24 +678,8 @@ static inline int em28xx_urb_data_copy_vbi(struct em28xx *dev, struct urb *urb)
                        dma_q->pos = 0;
                }
 
-               if (buf != NULL && dev->capture_type == 2) {
-                       if (len >= 4 && p[0] == 0x88 && p[1] == 0x88 &&
-                           p[2] == 0x88 && p[3] == 0x88) {
-                               p += 4;
-                               len -= 4;
-                       }
-                       if (len >= 4 && p[0] == 0x22 && p[1] == 0x5a) {
-                               em28xx_isocdbg("Video frame %d, len=%i, %s\n",
-                                              p[2], len, (p[2] & 1) ?
-                                              "odd" : "even");
-                               p += 4;
-                               len -= 4;
-                       }
-
-                       if (len > 0)
-                               em28xx_copy_video(dev, dma_q, buf, p, outp,
-                                                 len);
-               }
+               if (buf != NULL && dev->capture_type == 2 && len > 0)
+                       em28xx_copy_video(dev, dma_q, buf, p, outp, len);
        }
        return rc;
 }