Re: [v4l-dvb-maintainer] [PATCH] Re: Regression: VIDIOCGMBUF ioctl hangs on bttv driver (2.6.24-rc6)
From: Douglas Landgraf
Date: Sun Jan 06 2008 - 17:53:38 EST
Hi guys,
Gregor, we have converted bttv driver to use vidioc_ioctl2 some days ago.
Could you check and create your patch against v4l development tree?
Bttv driver does not have anymore bttv_do_ioctl().
Cheers,
Douglas
On Jan 6, 2008 12:15 PM, Gregor Jasny <jasny@xxxxxxxxxx> wrote:
> From: Gregor Jasny <gjasny@xxxxxx>
>
> Fix bttv VIDIOCGMBUF locking like done in commit
> 820eacd84cff23b76693f4be1e28feb672f4488f.
>
> Signed-off-by: Gregor Jasny <gjasny@xxxxxx>
> ---
> diff --git a/drivers/media/video/bt8xx/bttv-driver.c b/drivers/media/video/bt8xx/bttv-driver.c
> index c02d92d..581a3c9 100644
> --- a/drivers/media/video/bt8xx/bttv-driver.c
> +++ b/drivers/media/video/bt8xx/bttv-driver.c
> @@ -3063,11 +3063,10 @@ static int bttv_do_ioctl(struct inode *inode, struct file *file,
> struct video_mbuf *mbuf = arg;
> unsigned int i;
>
> - mutex_lock(&fh->cap.lock);
> retval = videobuf_mmap_setup(&fh->cap,gbuffers,gbufsize,
> V4L2_MEMORY_MMAP);
> if (retval < 0)
> - goto fh_unlock_and_return;
> + return retval;
>
> gbuffers = retval;
> memset(mbuf,0,sizeof(*mbuf));
> @@ -3075,7 +3074,6 @@ static int bttv_do_ioctl(struct inode *inode, struct file *file,
> mbuf->size = gbuffers * gbufsize;
> for (i = 0; i < gbuffers; i++)
> mbuf->offsets[i] = i * gbufsize;
> - mutex_unlock(&fh->cap.lock);
> return 0;
> }
> case VIDIOCMCAPTURE:
>
>
> _______________________________________________
> v4l-dvb-maintainer mailing list
> v4l-dvb-maintainer@xxxxxxxxxxx
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/v4l-dvb-maintainer
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/