|
@@ -1659,20 +1659,24 @@ static long __video_do_ioctl(struct file *file,
|
|
{
|
|
{
|
|
struct v4l2_dbg_register *p = arg;
|
|
struct v4l2_dbg_register *p = arg;
|
|
|
|
|
|
- if (!capable(CAP_SYS_ADMIN))
|
|
|
|
- ret = -EPERM;
|
|
|
|
- else if (ops->vidioc_g_register)
|
|
|
|
- ret = ops->vidioc_g_register(file, fh, p);
|
|
|
|
|
|
+ if (ops->vidioc_g_register) {
|
|
|
|
+ if (!capable(CAP_SYS_ADMIN))
|
|
|
|
+ ret = -EPERM;
|
|
|
|
+ else
|
|
|
|
+ ret = ops->vidioc_g_register(file, fh, p);
|
|
|
|
+ }
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
case VIDIOC_DBG_S_REGISTER:
|
|
case VIDIOC_DBG_S_REGISTER:
|
|
{
|
|
{
|
|
struct v4l2_dbg_register *p = arg;
|
|
struct v4l2_dbg_register *p = arg;
|
|
|
|
|
|
- if (!capable(CAP_SYS_ADMIN))
|
|
|
|
- ret = -EPERM;
|
|
|
|
- else if (ops->vidioc_s_register)
|
|
|
|
- ret = ops->vidioc_s_register(file, fh, p);
|
|
|
|
|
|
+ if (ops->vidioc_s_register) {
|
|
|
|
+ if (!capable(CAP_SYS_ADMIN))
|
|
|
|
+ ret = -EPERM;
|
|
|
|
+ else
|
|
|
|
+ ret = ops->vidioc_s_register(file, fh, p);
|
|
|
|
+ }
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|