v4l1 compatibility module fix.
PATCH 1/1 v4l1 compatibility module fix.
Hi,
This patch fixes a bug in the v4l1-compat module and makes it pass the correct buffer type to the v4l2 driver on VIDIOC_STREAM(ON|OFF) ioctls.
Please apply,
Gerd
drivers/media/video/v4l1-compat.c +4 -2
@@ -503,10 +503,11 @@ v4l_compat_translate_ioctl(struct inodeint *on = arg;if (0 == *on) { +enum v4l2_buf_type type =V4L2_BUF_TYPE_VIDEO_CAPTURE ;/* dirty hack time. But v4l1 has no STREAMOFF * equivalent in the API, and this one at * least comes close ... */ -drv (inode, file,VIDIOC_STREAMOFF ,NULL ); +drv (inode, file,VIDIOC_STREAMOFF , &type); } err =drv (inode, file,VIDIOC_OVERLAY , arg);if (err <0 )
@@ -857,6 +858,7 @@ v4l_compat_translate_ioctl(struct inodecase VIDIOCMCAPTURE :/* capture a frame */ {struct video_mmap *mm = arg; +enum v4l2_buf_type type =V4L2_BUF_TYPE_VIDEO_CAPTURE ; fmt2 =kmalloc (sizeof (*fmt2),GFP_KERNEL );memset (&buf2,0 ,sizeof (buf2));
@@ -897,7 +899,7 @@ v4l_compat_translate_ioctl(struct inodedprintk ("VIDIOCMCAPTURE / VIDIOC_QBUF: %d\n" ,err);break ; } - err =drv (inode, file,VIDIOC_STREAMON ,NULL ); + err =drv (inode, file,VIDIOC_STREAMON , &type);if (err <0 )dprintk ("VIDIOCMCAPTURE / VIDIOC_STREAMON: %d\n" ,err);break ;