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?
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.".
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.
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).
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.
OK, laptop test successfully finished.
with kernel v3.17-rc6 I need to revert two commits:
8a75ffb81b1c1b6949d191fbef3eaa03fd648852 [media] vb2: fix bytesused == 0 handling
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)
I think you hit this guvcview bug:
So it's not a driver bug, it's a bug in the application which was exposed by the driver change.