Skip to content

Commit d1b618e

Browse files
ribaldahverkuil
authored andcommitted
media: uvcvideo: Do not turn on the camera for some ioctls
There are some ioctls that do not need to turn on the camera. Do not call uvc_pm_get in those cases. Reviewed-by: Hans de Goede <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Ricardo Ribalda <[email protected]> Message-ID: <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
1 parent a32d9c4 commit d1b618e

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

drivers/media/usb/uvc/uvc_v4l2.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1440,6 +1440,26 @@ static long uvc_v4l2_unlocked_ioctl(struct file *file,
14401440
struct uvc_fh *handle = file->private_data;
14411441
int ret;
14421442

1443+
/* The following IOCTLs do not need to turn on the camera. */
1444+
switch (cmd) {
1445+
case VIDIOC_CREATE_BUFS:
1446+
case VIDIOC_DQBUF:
1447+
case VIDIOC_ENUM_FMT:
1448+
case VIDIOC_ENUM_FRAMEINTERVALS:
1449+
case VIDIOC_ENUM_FRAMESIZES:
1450+
case VIDIOC_ENUMINPUT:
1451+
case VIDIOC_EXPBUF:
1452+
case VIDIOC_G_FMT:
1453+
case VIDIOC_G_PARM:
1454+
case VIDIOC_G_SELECTION:
1455+
case VIDIOC_QBUF:
1456+
case VIDIOC_QUERYCAP:
1457+
case VIDIOC_REQBUFS:
1458+
case VIDIOC_SUBSCRIBE_EVENT:
1459+
case VIDIOC_UNSUBSCRIBE_EVENT:
1460+
return video_ioctl2(file, cmd, arg);
1461+
}
1462+
14431463
ret = uvc_pm_get(handle->stream->dev);
14441464
if (ret)
14451465
return ret;

0 commit comments

Comments
 (0)