2012/7/8 Hans de Goede <hdego...@redhat.com>: > On 07/08/2012 03:01 PM, Martin-Éric Racine wrote: >> >> 2012/6/17 Martin-Éric Racine <martin-eric.rac...@iki.fi>: >>> >>> pe, 2012-06-15 kello 23:41 -0500, Jonathan Nieder kirjoitti: >>>> >>>> Martin-Éric Racine wrote: >>>>> >>>>> usb 1-7: new high-speed USB device number 3 using ehci_hcd >>>> >>>> [...] >>>>> >>>>> usb 1-7: New USB device found, idVendor=0ac8, idProduct=0321 >>>>> usb 1-7: New USB device strings: Mfr=1, Product=2, SerialNumber=0 >>>>> usb 1-7: Product: USB2.0 Web Camera >>>>> usb 1-7: Manufacturer: Vimicro Corp. >>>> >>>> [...] >>>>> >>>>> Linux media interface: v0.10 >>>>> Linux video capture interface: v2.00 >>>>> gspca_main: v2.14.0 registered >>>>> gspca_main: vc032x-2.14.0 probing 0ac8:0321 >>>>> usbcore: registered new interface driver vc032x >>>> >>>> >>>> The device of interest is discovered. >>>> >>>>> gspca_main: ISOC data error: [36] len=0, status=-71 >>>>> gspca_main: ISOC data error: [65] len=0, status=-71 >>>> >>>> [...] >>>>> >>>>> gspca_main: ISOC data error: [48] len=0, status=-71 >>>>> video_source:sr[3246]: segfault at 0 ip (null) sp ab36de1c error 14 >>>>> in cheese[8048000+21000] >>>>> gspca_main: ISOC data error: [17] len=0, status=-71 >>>> >>>> >>>> (The above data error spew starts around t=121 seconds and continues >>>> at a rate of about 15 messages per second. The segfault is around >>>> t=154.) >>> >>> >>>> The vc032x code hasn't changed since 3.4.1, so please report your >>>> symptoms to Jean-François Moine <moin...@free.fr>, cc-ing >>>> linux-me...@vger.kernel.org, linux-kernel@vger.kernel.org, and either >>>> me or this bug log so we can track it. Be sure to mention: >>>> >>>> - steps to reproduce, expected result, actual result, and how the >>>> difference indicates a bug (should be simple enough in this case) >>> >>> >>> 1. Ensure that user 'myself' is a member of the 'video' group. >>> 2. Launch the webcam application Cheese from the GNOME desktop. >>> >>> Expected result: Cheese displays whatever this laptop's camera sees. >>> >>> Actual result: Cheese crashes while attempting to access the camera. >>> >>>> - how reproducible the bug is (100%?) >>> >>> >>> 100% >>> >>>> - which kernel versions you have tested and result with each (what is >>>> the newest kernel version that worked?) >>> >>> >>> It probably was 3.1.0 or some earlier 3.2 release (the upcoming Debian >>> will release with 3.2.x; 3.4 was only used here for testing purposes), >>> but I wouldn't know for sure since I don't use my webcam too often. >> >> >> I finally found time to perform further testing, using kernel packages >> from snapshots.debian.org, and the last one that positively worked (at >> least using GNOME's webcam application Cheese) was: >> >> linux-image-3.1.0-1-686-pae 3.1.8-2 >> Linux 3.1 for modern PCs >> >> This loaded the following video modules: >> >> gspca_vc032x >> gspca_main >> videodev >> media >> >> Tests using 3.2.1-1 or more recent crashed as described before. This >> at least gives us a time frame for when the regression started. > > > Hmm, this is then likely caused by the new isoc bandwidth negotiation code > in 3.2, unfortunately the vc032x driver is one of the few gspca drivers > for which I don't have a cam to test with. Can you try to build your own > kernel from source? > > Boot into your own kernel, and verify the regression is still there, > then edit drivers/media/video/gspca/gspca.c and go to the which_bandwidth > function, and at the beginning of this function add the following line: > > return 2000 * 2000 * 120; > > Then rebuild and re-install the kernel and try again. > > If that helps, remove the added > return 2000 * 2000 * 120; > line, and also remove the following lines from which_bandwidth: > > /* if the image is compressed, estimate its mean size */ > if (!gspca_dev->cam.needs_full_bandwidth && > bandwidth < gspca_dev->cam.cam_mode[i].width * > gspca_dev->cam.cam_mode[i].height) > bandwidth = bandwidth * 3 / 8; /* 0.375 */ > > And try again if things still work this way. > > Once you've tested this I can try to write a fix for this.
Hans, Thank you for your reply. Just to eliminate the possibility of mistakes on my part while trying to perform the above changes, could you send me a patch against Linux 3.2.21 that I could apply as-is, before building myself a test kernel package? Cheers! Martin-Éric -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/