Преглед изворни кода

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>
Hans de Goede пре 16 година
родитељ
комит
d473a00239
1 измењених фајлова са 6 додато и 0 уклоњено
  1. 6 0
      drivers/media/video/gspca/vc032x.c

+ 6 - 0
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);
 }