aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/gspca/vc032x.c
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2008-12-11 05:02:18 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-12-30 09:39:02 -0200
commitd473a002399ff8cd168012f831aca7691d5f5086 (patch)
tree07a87ec7a71461375cec90648c6629f773375e44 /drivers/media/video/gspca/vc032x.c
parent11d9f25da89523d19dba3608d51a86af2954fc0d (diff)
downloadkernel_samsung_smdk4412-d473a002399ff8cd168012f831aca7691d5f5086.zip
kernel_samsung_smdk4412-d473a002399ff8cd168012f831aca7691d5f5086.tar.gz
kernel_samsung_smdk4412-d473a002399ff8cd168012f831aca7691d5f5086.tar.bz2
V4L/DVB (9878): gspca - vc032x: Fix frame overflow errors with vc0321.
The vc0321 sends some additional data after sending the complete frame, we ignore this. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/gspca/vc032x.c')
-rw-r--r--drivers/media/video/gspca/vc032x.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/video/gspca/vc032x.c b/drivers/media/video/gspca/vc032x.c
index 8f553bf..4556348 100644
--- a/drivers/media/video/gspca/vc032x.c
+++ b/drivers/media/video/gspca/vc032x.c
@@ -2272,6 +2272,12 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
data, len);
return;
}
+
+ /* The vc0321 sends some additional data after sending the complete
+ * frame, we ignore this. */
+ if (sd->bridge == BRIDGE_VC0321
+ && len > frame->v4l2_buf.length - (frame->data_end - frame->data))
+ len = frame->v4l2_buf.length - (frame->data_end - frame->data);
gspca_frame_add(gspca_dev, INTER_PACKET, frame, data, len);
}