mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
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 <hdegoede@redhat.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> Message-ID: <20250327-uvc-granpower-ng-v6-5-35a2357ff348@chromium.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
This commit is contained in:
parent
a32d9c41bd
commit
d1b618e795
1 changed files with 20 additions and 0 deletions
|
@ -1440,6 +1440,26 @@ static long uvc_v4l2_unlocked_ioctl(struct file *file,
|
|||
struct uvc_fh *handle = file->private_data;
|
||||
int ret;
|
||||
|
||||
/* The following IOCTLs do not need to turn on the camera. */
|
||||
switch (cmd) {
|
||||
case VIDIOC_CREATE_BUFS:
|
||||
case VIDIOC_DQBUF:
|
||||
case VIDIOC_ENUM_FMT:
|
||||
case VIDIOC_ENUM_FRAMEINTERVALS:
|
||||
case VIDIOC_ENUM_FRAMESIZES:
|
||||
case VIDIOC_ENUMINPUT:
|
||||
case VIDIOC_EXPBUF:
|
||||
case VIDIOC_G_FMT:
|
||||
case VIDIOC_G_PARM:
|
||||
case VIDIOC_G_SELECTION:
|
||||
case VIDIOC_QBUF:
|
||||
case VIDIOC_QUERYCAP:
|
||||
case VIDIOC_REQBUFS:
|
||||
case VIDIOC_SUBSCRIBE_EVENT:
|
||||
case VIDIOC_UNSUBSCRIBE_EVENT:
|
||||
return video_ioctl2(file, cmd, arg);
|
||||
}
|
||||
|
||||
ret = uvc_pm_get(handle->stream->dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
|
Loading…
Add table
Reference in a new issue