The patch number 8205 was added via Jean-Francois Moine <[EMAIL PROTECTED]>
to http://linuxtv.org/hg/v4l-dvb master development tree.
Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel
If anyone has any objections, please let us know by sending a message to:
[EMAIL PROTECTED]
------
From: Andoni Zubimendi <[EMAIL PROTECTED]>
gspca: Size of frame header adjusted according to sn9c10x in sonixb.
Signed-off-by: Andoni Zubimendi <[EMAIL PROTECTED]>
Signed-off-by: Jean-Francois Moine <[EMAIL PROTECTED]>
---
linux/drivers/media/video/gspca/sonixb.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff -r 42480144b25a -r 5065159a99d4 linux/drivers/media/video/gspca/sonixb.c
--- a/linux/drivers/media/video/gspca/sonixb.c Sun Jul 06 09:04:39 2008 +0200
+++ b/linux/drivers/media/video/gspca/sonixb.c Sun Jul 06 09:27:19 2008 +0200
@@ -38,6 +38,7 @@ struct sd {
unsigned char brightness;
unsigned char contrast;
+ unsigned char fr_h_sz; /* size of frame header */
char sensor; /* Type of image sensor chip */
#define SENSOR_HV7131R 0
#define SENSOR_OV6650 1
@@ -518,6 +519,7 @@ static int sd_config(struct gspca_dev *g
__u16 product;
int sif = 0;
+ sd->fr_h_sz = 12; /* default size of the frame header */
/* vendor = id->idVendor; */
product = id->idProduct;
/* switch (vendor) { */
@@ -546,6 +548,7 @@ static int sd_config(struct gspca_dev *g
break;
case 0x60b0: /* SN9C103 */
sd->sensor = SENSOR_OV7630_3;
+ sd->fr_h_sz = 18; /* size of frame header */
break;
case 0x6024: /* SN9C102 */
case 0x6025: /* SN9C102 */
@@ -559,6 +562,7 @@ static int sd_config(struct gspca_dev *g
break;
case 0x60af: /* SN9C103 */
sd->sensor = SENSOR_PAS202;
+ sd->fr_h_sz = 18; /* size of frame header (?) */
break;
}
/* break; */
@@ -783,6 +787,7 @@ static void sd_pkt_scan(struct gspca_dev
unsigned char *data, /* isoc packet */
int len) /* iso packet length */
{
+ struct sd *sd;
int i;
if (len > 6 && len < 24) {
@@ -795,8 +800,9 @@ static void sd_pkt_scan(struct gspca_dev
&& data[5 + i] == 0x96) { /* start of frame */
frame = gspca_frame_add(gspca_dev, LAST_PACKET,
frame, data, 0);
- data += i + 12;
- len -= i + 12;
+ sd = (struct sd *) gspca_dev;
+ data += i + sd->fr_h_sz;
+ len -= i + sd->fr_h_sz;
gspca_frame_add(gspca_dev, FIRST_PACKET,
frame, data, len);
return;
---
Patch is available at:
http://linuxtv.org/hg/v4l-dvb/rev/5065159a99d4839cc203ccf757b6a9a44ec64d08
_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits