Messages in this thread | | | Date | Mon, 09 Jul 2012 15:12:57 +0200 | From | Hans de Goede <> | Subject | Re: video: USB webcam fails since kernel 3.2 |
| |
Hi,
On 07/09/2012 01:33 PM, Martin-Éric Racine wrote:
<snip>
>> 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?
Erm, that is quite a bit of work from my side for something which you can easily do yourself, edit gspca.c, search for which_bandwidth and then under the following lines: u32 bandwidth; int i;
Add a line like this: return 2000 * 2000 * 120;
Regards,
Hans -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |