Adjust pac73xx sof detection, we were throwing away 2 bytes after the sof, but one of those 2 actually is the first magic marker for the first MCU, as we may need those markers in the future pass the 2 bytes to userspace, this also simplifies the code :) Signed-off-by: Hans de Goede p.s. Matching userspace code has now been committed to my tree: http://linuxtv.org/hg/~hgoede/v4l-dvb diff -r 55d686bc5075 linux/drivers/media/video/gspca/pac7311.c --- a/linux/drivers/media/video/gspca/pac7311.c Fri Aug 22 22:51:29 2008 +0200 +++ b/linux/drivers/media/video/gspca/pac7311.c Fri Aug 22 22:54:13 2008 +0200 @@ -70,7 +70,6 @@ #define SENSOR_PAC7311 1 u8 sof_read; - u8 header_read; u8 autogain_ignore_frames; atomic_t avg_lum; @@ -759,8 +758,6 @@ /* Include pac common sof detection functions */ #include "pac_common.h" -#define HEADER_LENGTH 2 - /* this function is run at interrupt level */ static void sd_pkt_scan(struct gspca_dev *gspca_dev, struct gspca_frame *frame, /* target */ @@ -834,22 +831,7 @@ gspca_frame_add(gspca_dev, INTER_PACKET, frame, tmpbuf, 4); gspca_frame_add(gspca_dev, INTER_PACKET, frame, pac7311_jpeg_header2, sizeof(pac7311_jpeg_header2)); - - sd->header_read = 0; } - - if (sd->header_read < HEADER_LENGTH) { - /* skip the variable part of the sof header */ - int needed = HEADER_LENGTH - sd->header_read; - if (len <= needed) { - sd->header_read += len; - return; - } - data += needed; - len -= needed; - sd->header_read = HEADER_LENGTH; - } - gspca_frame_add(gspca_dev, INTER_PACKET, frame, data, len); }