All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Hámorszky Balázs" <balihb@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: bugzilla-daemon@bugzilla.kernel.org, mchehab@infradead.org,
	linux-media@vger.kernel.org
Subject: Re: [Bug 13708] Aiptek DV-T300 support is incomplete
Date: Fri, 24 Jul 2009 12:37:52 +0200	[thread overview]
Message-ID: <4A698F00.4060903@gmail.com> (raw)
In-Reply-To: <20090723160138.83a3579e.akpm@linux-foundation.org>

[-- Attachment #1: Type: text/plain, Size: 703 bytes --]

Andrew Morton wrote:
> The patch doesn't apply to current kernels and fixing it looks non-trivial.

I've attached a patch against the latest git tree.

> There's no hurry - please email us a complete (tested, changelogged,
> signed-off) patch when you have time to get onto it, thanks.

I can't test it. The patch worked partially with kernel 2.6.29, but I 
can't get it working with 2.6.30. With 2.6.29 the driver dies after a 
few seconds, but with 2.6.30 the programs won't detect the camera.
Also I only ported the patch to later kernels. I'm not the one who made 
it. The patch is originally from the creator of the driver. I also don't 
know how v4l works, so I have no idea how to fix the patch.

[-- Attachment #2: zr364xx.diff --]
[-- Type: text/x-patch, Size: 1724 bytes --]

--- a/zr364xx.c	2009-07-24 12:19:40.000000000 +0200
+++ b/zr364xx.c	2009-07-24 12:21:14.000000000 +0200
@@ -59,6 +59,7 @@
 #define METHOD0 0
 #define METHOD1 1
 #define METHOD2 2
+#define METHOD3 3
 
 
 /* Module parameters */
@@ -95,7 +96,7 @@ static struct usb_device_id device_table
 	{USB_DEVICE(0x06d6, 0x003b), .driver_info = METHOD0 },
 	{USB_DEVICE(0x0a17, 0x004e), .driver_info = METHOD2 },
 	{USB_DEVICE(0x041e, 0x405d), .driver_info = METHOD2 },
-	{USB_DEVICE(0x08ca, 0x2102), .driver_info = METHOD2 },
+	{USB_DEVICE(0x08ca, 0x2102), .driver_info = METHOD3 },
 	{}			/* Terminating entry */
 };
 
@@ -213,7 +214,7 @@ static message m2[] = {
 };
 
 /* init table */
-static message *init[3] = { m0, m1, m2 };
+static message *init[4] = { m0, m1, m2, m2 };
 
 
 /* JPEG static data in header (Huffman table, etc) */
@@ -347,6 +348,11 @@ static int read_frame(struct zr364xx_cam
 			    cam->buffer[3], cam->buffer[4], cam->buffer[5],
 			    cam->buffer[6], cam->buffer[7], cam->buffer[8]);
 		} else {
+			if (ptr + actual_length - jpeg > MAX_FRAME_SIZE)
+			{
+				DBG("frame too big!");
+				return 0;
+			}
 			memcpy(ptr, cam->buffer, actual_length);
 			ptr += actual_length;
 		}
@@ -847,6 +853,22 @@ static int zr364xx_probe(struct usb_inte
 	m0d1[0] = mode;
 	m1[2].value = 0xf000 + mode;
 	m2[1].value = 0xf000 + mode;
+
+	/* special case for METHOD3, the modes are different */
+	if (cam->method == METHOD3) {
+		switch (mode) {
+		case 1:
+			m2[1].value = 0xf000 + 4;
+			break;
+		case 2:
+			m2[1].value = 0xf000 + 0;
+			break;
+		default:
+			m2[1].value = 0xf000 + 1;
+			break;
+		}
+	}
+
 	header2[437] = cam->height / 256;
 	header2[438] = cam->height % 256;
 	header2[439] = cam->width / 256;

      reply	other threads:[~2009-07-24 10:37 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-13708-12914@http.bugzilla.kernel.org/>
     [not found] ` <200907201949.n6KJnOdY016111@demeter.kernel.org>
2009-07-20 20:37   ` [Bug 13708] Aiptek DV-T300 support is incomplete Balázs Hámorszky
2009-07-23 23:01     ` Andrew Morton
2009-07-24 10:37       ` Hámorszky Balázs [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A698F00.4060903@gmail.com \
    --to=balihb@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=bugzilla-daemon@bugzilla.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.