Re: Problems with the gspca_ov519 driver
From: Lluís Batlle i Rossell <hidden>
Date: 2012-05-22 16:30:43
On Tue, May 22, 2012 at 06:28:18PM +0200, Hans de Goede wrote:
Hi, On 05/22/2012 05:27 PM, Lluís Batlle i Rossell wrote:quoted
Is this over linux 3.4 mainline? Because I can't get the patch applied over it.No it is against: http://git.linuxtv.org/media_tree.git/shortlog/refs/heads/staging/for_v3.5 But it should be trivial to backport, the patch is only 3 lines.
I tried to, but I couldn't find any match for "video_drvdata". I'll check again. Thank you.
quoted
Regards, Lluís. On Tue, May 22, 2012 at 04:39:17PM +0200, Hans de Goede wrote:quoted
Hi, On 05/22/2012 04:08 PM, Paulo Assis wrote:quoted
Hi, This bug also causes the camera to crash when changing fps in guvcview, uvc devices (at least all the ones I tested) require the stream to be restarted for fps to change, so in the case of this driver after STREAMOFF the camera just becomes unresponsive. Regards, Paulo 2012/5/22 Lluís Batlle i Rossell[off-list ref]:quoted
Hello, I'm trying to get video using v4l2 ioctls from a gspca_ov519 camera, and after STREAMOFF all buffers are still flagged as QUEUED, and QBUF fails. DQBUF also fails (blocking for a 3 sec timeout), after streamoff. So I'm stuck, after STREAMOFF, unable to get pictures coming in again. (Linux 3.3.5). As an additional note, pinchartl on irc #v4l says to favour a moving of gspca to vb2. I don't know what it means. Can someone take care of the bug, or should I consider the camera 'non working' in linux?We talked about this on irc, attached it a patch which should fix this, feedback appreciated. Regards, Hansquoted
From b0eefa00c72e9dfe9eaa5f425c0d346b19ea01cd Mon Sep 17 00:00:00 2001 From: Hans de Goede<redacted> Date: Tue, 22 May 2012 16:24:05 +0200 Subject: [PATCH] gspca-core: Fix buffers staying in queued state after a stream_off Signed-off-by: Hans de Goede<redacted> --- drivers/media/video/gspca/gspca.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c index 137166d..31721ea 100644 --- a/drivers/media/video/gspca/gspca.c +++ b/drivers/media/video/gspca/gspca.c@@ -1653,7 +1653,7 @@ static int vidioc_streamoff(struct file *file, void *priv, enum v4l2_buf_type buf_type) { struct gspca_dev *gspca_dev = video_drvdata(file); - int ret; + int i, ret; if (buf_type != V4L2_BUF_TYPE_VIDEO_CAPTURE) return -EINVAL;@@ -1678,6 +1678,8 @@ static int vidioc_streamoff(struct file *file, void *priv, wake_up_interruptible(&gspca_dev->wq); /* empty the transfer queues */ + for (i = 0; i< gspca_dev->nframes; i++) + gspca_dev->frame[i].v4l2_buf.flags&= ~BUF_ALL_FLAGS; atomic_set(&gspca_dev->fr_q, 0); atomic_set(&gspca_dev->fr_i, 0); gspca_dev->fr_o = 0; --1.7.10-- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html