From: Laurent Pinchart Date: Fri, 31 Oct 2014 13:01:49 +0000 (-0300) Subject: [media] v4l2: get/set prio using video_dev prio structure X-Git-Tag: v3.19-rc1~126^2~105 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=59b702ea9f4467bf6b6281d5d21cebfc1fa11e8d;p=linux.git [media] v4l2: get/set prio using video_dev prio structure The v4l2_device structure embed a v4l2_prio_state structure used by default for priority handling, but drivers can override that default by setting the video_dev prio pointer to a different v4l2_prio_state instance. However, the VIDIO_G_PRIORITY and VIDIOC_S_PRIORITY implementations use the prio state embedded in v4l2_device unconditionally, breaking drivers that need to override the default. Fix them. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c index 9ccb19a435ef..1bf84a584242 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c @@ -1040,7 +1040,7 @@ static int v4l_g_priority(const struct v4l2_ioctl_ops *ops, if (ops->vidioc_g_priority) return ops->vidioc_g_priority(file, fh, arg); vfd = video_devdata(file); - *p = v4l2_prio_max(&vfd->v4l2_dev->prio); + *p = v4l2_prio_max(vfd->prio); return 0; } @@ -1055,7 +1055,7 @@ static int v4l_s_priority(const struct v4l2_ioctl_ops *ops, return ops->vidioc_s_priority(file, fh, *p); vfd = video_devdata(file); vfh = file->private_data; - return v4l2_prio_change(&vfd->v4l2_dev->prio, &vfh->prio, *p); + return v4l2_prio_change(vfd->prio, &vfh->prio, *p); } static int v4l_enuminput(const struct v4l2_ioctl_ops *ops,