This patch makes the sonixb gspca driver actually work (tested with a sweex sn9c102 with tas5110 sensor). Signed-off-by: Hans de Goede --- gspca-2bbb47f61a95/linux/drivers/media/video/gspca/sonixb.c.dbg 2008-07-02 11:14:56.000000000 +0200 +++ gspca-2bbb47f61a95/linux/drivers/media/video/gspca/sonixb.c 2008-07-02 23:07:41.000000000 +0200 @@ -344,13 +344,17 @@ static void reg_w(struct usb_device *dev const __u8 *buffer, __u16 len) { + __u8 tmpbuf[0x1f]; + + memcpy(tmpbuf, buffer, len); + usb_control_msg(dev, usb_sndctrlpipe(dev, 0), 0x08, /* request */ USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_INTERFACE, value, 0, /* index */ - (__u8 *) buffer, len, + tmpbuf, len, 500); } @@ -769,8 +773,8 @@ static void sd_pkt_scan(struct gspca_dev LAST_PACKET, frame, data, 0); - data += 12; - len -= 12; + data += p + 12; + len -= p + 12; gspca_frame_add(gspca_dev, FIRST_PACKET, frame, data, len); return;