Bug#656237: gspca-based webcam ( 0ac8:305b , gspca_zc3xx driver) kills usb in kernels 3+

2012-03-05 Thread Jonathan Nieder
tags 656237 + moreinfo
quit

Hi,

Jonathan Nieder wrote:
 Kertesz Laszlo wrote:

 The program that accessed the webcam could not be stopped with its own menu
 options and eventually froze  (kill -9 made it a zombie).
 Additionally the camera does not unregister (the /dev/video0 device is
 there) if plugged out and all usb hotplugging ceases to work

Thanks again for finding and reporting it.

 Reproducible?

 Please attach full dmesg output from booting.

Ping.  Are you interested in pursuing a fix for this?  (If not, that's
fine, but please do let us know so we can tell whether to keep
tracking it.)

 Does the attached patch help?

Curious,
Jonathan



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#656237: gspca-based webcam ( 0ac8:305b , gspca_zc3xx driver) kills usb in kernels 3+

2012-02-13 Thread Jonathan Nieder
Hi,

Kertesz Laszlo wrote:

 The program that accessed the webcam could not be stopped with its own menu
 options and eventually froze  (kill -9 made it a zombie).
 Additionally the camera does not unregister (the /dev/video0 device is
 there) if plugged out and all usb hotplugging ceases to work

Reproducible?

Please attach full dmesg output from booting.

Does the attached patch help?  (See [1] or the corresponding page from
the debian-kernel-handbook package for hints on testing a patched
kernel.)

Thanks,
Jonathan

[1] http://kernel-handbook.alioth.debian.org/ch-common-tasks.html
From: Jean-François Moine moin...@free.fr
Date: Wed, 30 Nov 2011 06:48:38 -0300
Subject: [media] gspca - zc3xx: Bad initialization of zc305/gc0303

commit 885f3cad982eabbc85c2ab052bc44453e4aca6d3 upstream.

Signed-off-by: Jean-François Moine moin...@free.fr
Signed-off-by: Mauro Carvalho Chehab mche...@redhat.com
Signed-off-by: Jonathan Nieder jrnie...@gmail.com
---
 drivers/media/video/gspca/zc3xx.c |  187 +
 1 files changed, 87 insertions(+), 100 deletions(-)

diff --git a/drivers/media/video/gspca/zc3xx.c 
b/drivers/media/video/gspca/zc3xx.c
index 30ea1e479492..1048468023c1 100644
--- a/drivers/media/video/gspca/zc3xx.c
+++ b/drivers/media/video/gspca/zc3xx.c
@@ -5381,12 +5381,12 @@ static const struct usb_action tas5130c_NoFlikerScale[] 
= {
{}
 };
 
-static const struct usb_action gc0303_InitialScale[] = {
+/* from usbvm305.inf 0ac8:305b 07/06/15 (3 - tas5130c) */
+static const struct usb_action gc0303_Initial[] = {
{0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc, */
{0xa0, 0x02, ZC3XX_R008_CLOCKSETTING},  /* 00,08,02,cc, */
{0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT},  /* 00,10,01,cc, */
-   {0xa0, 0x10, ZC3XX_R002_CLOCKSELECT},   /* 00,02,00,cc,
-* 0-10 */
+   {0xa0, 0x00, ZC3XX_R002_CLOCKSELECT},
{0xa0, 0x02, ZC3XX_R003_FRAMEWIDTHHIGH},/* 00,03,02,cc, */
{0xa0, 0x80, ZC3XX_R004_FRAMEWIDTHLOW}, /* 00,04,80,cc, */
{0xa0, 0x01, ZC3XX_R005_FRAMEHEIGHTHIGH},   /* 00,05,01,cc, */
@@ -5405,29 +5405,22 @@ static const struct usb_action gc0303_InitialScale[] = {
 * 6-8 */
{0xa0, 0x10, ZC3XX_R087_EXPTIMEMID},/* 00,87,10,cc, */
{0xa0, 0x98, ZC3XX_R08B_I2CDEVICEADDR}, /* 00,8b,98,cc, */
-   {0xaa, 0x1b, 0x0024},   /* 00,1b,24,aa, */
-   {0xdd, 0x00, 0x0080},   /* 00,00,80,dd, */
-   {0xaa, 0x1b, 0x},   /* 00,1b,00,aa, */
-   {0xaa, 0x13, 0x0002},   /* 00,13,02,aa, */
-   {0xaa, 0x15, 0x0004},   /* 00,15,04,aa */
-/*??   {0xaa, 0x01, 0x}, */
{0xaa, 0x01, 0x},
{0xaa, 0x1a, 0x},   /* 00,1a,00,aa, */
{0xaa, 0x1c, 0x0017},   /* 00,1c,17,aa, */
+   {0xaa, 0x1b, 0x},
{0xa0, 0x82, ZC3XX_R086_EXPTIMEHIGH},   /* 00,86,82,cc, */
{0xa0, 0x83, ZC3XX_R087_EXPTIMEMID},/* 00,87,83,cc, */
{0xa0, 0x84, ZC3XX_R088_EXPTIMELOW},/* 00,88,84,cc, */
{0xaa, 0x05, 0x0010},   /* 00,05,10,aa, */
-   {0xaa, 0x0a, 0x},   /* 00,0a,00,aa, */
-   {0xaa, 0x0b, 0x00a0},   /* 00,0b,a0,aa, */
-   {0xaa, 0x0c, 0x},   /* 00,0c,00,aa, */
-   {0xaa, 0x0d, 0x00a0},   /* 00,0d,a0,aa, */
-   {0xaa, 0x0e, 0x},   /* 00,0e,00,aa, */
-   {0xaa, 0x0f, 0x00a0},   /* 00,0f,a0,aa, */
-   {0xaa, 0x10, 0x},   /* 00,10,00,aa, */
-   {0xaa, 0x11, 0x00a0},   /* 00,11,a0,aa, */
-/*??   {0xa0, 0x00, 0x0039},
-   {0xa1, 0x01, 0x0037}, */
+   {0xaa, 0x0a, 0x0002},
+   {0xaa, 0x0b, 0x},
+   {0xaa, 0x0c, 0x0002},
+   {0xaa, 0x0d, 0x},
+   {0xaa, 0x0e, 0x0002},
+   {0xaa, 0x0f, 0x},
+   {0xaa, 0x10, 0x0002},
+   {0xaa, 0x11, 0x},
{0xaa, 0x16, 0x0001},   /* 00,16,01,aa, */
{0xaa, 0x17, 0x00e8},   /* 00,17,e6,aa, (e6 - e8) */
{0xaa, 0x18, 0x0002},   /* 00,18,02,aa, */
@@ -5442,17 +5435,18 @@ static const struct usb_action gc0303_InitialScale[] = {
{0xa0, 0x13, ZC3XX_R1CB_SHARPNESS05},   /* 01,cb,13,cc, */
{0xa0, 0x08, ZC3XX_R250_DEADPIXELSMODE},/* 02,50,08,cc, */
{0xa0, 0x08, ZC3XX_R301_EEPROMACCESS},  /* 03,01,08,cc, */
-   {0xa0, 0x60, ZC3XX_R1A8_DIGITALGAIN},   /* 01,a8,60,cc, */
+   {0xa0, 0x58, ZC3XX_R1A8_DIGITALGAIN},
{0xa0, 0x61, ZC3XX_R116_RGAIN}, /* 01,16,61,cc, */
{0xa0, 0x65, ZC3XX_R118_BGAIN}, /* 01,18,65,cc */
+   {0xaa, 0x1b, 0x},
{}
 };
 
-static const struct usb_action gc0303_Initial[] = {
+static const struct usb_action gc0303_InitialScale[] = {