Bug 81611

Summary: [regression] in kernel 3.16, uvcvideo no longer works for usb Laptop_Integrated_Webcam_2HDM (0408:2fb1)
Product: Drivers Reporter: rocko (rockorequin)
Component: Video(Other)Assignee: drivers_video-other
Status: NEW ---    
Severity: normal CC: aklhfex, alan, chrylis, debian00, hverkuil, suse
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.16 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: guvcview output, uvc trace output, lsusb output

Description rocko 2014-08-04 07:56:31 UTC
Created attachment 145021 [details]
guvcview output, uvc trace output, lsusb output

guvcview used to work fine with kernel 3.15 and earlier with my laptop webcam, but with kernel 3.16 (amd64) it just shows (and captures) a black screen and reports "Could not grab image (select timeout): Resource temporarily unavailable" or "ignoring empty buffer".

With 3.15 it would complain that the resource was temporarily unavailable once or twice, but would then recover and display streaming video.

I built the kernel using the same config as the ubuntu mainline builds for 3.16.

'motion' and 'skype' are both able to capture video with 3.16, so the underlying v4l driver looks like it is working.

Is video (other) the right component to file this under?
Comment 1 Christopher Smith 2014-08-07 14:25:06 UTC
I can confirm identical behavior on a Dell M6600 integrated webcam. The device has USB ID 1bcf:280b and is listed as "Sunplus Innovation Technology Inc.".
Comment 2 rocko 2014-08-08 08:44:01 UTC
I tested and it occurs with 3.16-rc2, so it regressed fairly early on. I couldn't test with 3.16-rc1 in the VM I set up because it failed to boot.
Comment 3 rocko 2014-09-24 03:55:48 UTC
The bug is still present in both 3.16.3 and 3.17-rc6.

I started attempting to bisect, but 3.16-rc1 doesn't get past the very early boot stages on the laptop I first saw the problem on (I can't even get a tty prompt in recovery mode).
Comment 4 suse 2014-09-30 10:36:56 UTC
I was able to bisect and it looks like commit 61bd8fb37db948154ae01c8ed43a86633ae1d2be
introduces the black screen.

Using v3.16 and reverting 61bd8fb37db948154ae01c8ed43a86633ae1d2be works in virtualbox.

I will try to test the fix on real hardware soon.
Comment 5 suse 2014-09-30 11:11:16 UTC
OK, laptop test successfully finished.
with kernel v3.17-rc6 I need to revert two commits:
8a75ffb81b1c1b6949d191fbef3eaa03fd648852 [media] vb2: fix bytesused == 0 handling
and again
61bd8fb37db948154ae01c8ed43a86633ae1d2be [media] vb2: if bytesused is 0, then fill with output buffer length

Reverting both commits makes my two webcams working again.
(integrated webcam 04f2:b1b4 and external 046d:09a4)
Comment 6 Hans Verkuil 2014-10-01 12:13:08 UTC
I think you hit this guvcview bug:

http://www.mail-archive.com/linux-media@vger.kernel.org/msg80144.html

So it's not a driver bug, it's a bug in the application which was exposed by the driver change.
Comment 7 suse 2022-08-28 12:36:11 UTC
bug report should be closed.