]> git.baikalelectronics.ru Git - kernel.git/commit
media: v4l2-dev: add EPOLLPRI in v4l2_poll() when dev is unregistered
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Tue, 1 Dec 2020 12:44:45 +0000 (13:44 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 4 Jan 2021 12:16:28 +0000 (13:16 +0100)
commit559df9dc10e5014538f89143b7f735e8745c752c
tree7de3272dfafd1afa497ef2810db4e79f64b43b7c
parent82c86e823b929c8f6cd02f92464dbdd97b1a02c5
media: v4l2-dev: add EPOLLPRI in v4l2_poll() when dev is unregistered

If the V4L2 device was unregistered, then add EPOLLPRI to
the poll mask. Otherwise a select() that only waits for
exceptions will not wake up. A select() that waits for
read and/or write events *will* wake up on an EPOLLERR, but
not (for some reason) if it just waits for exceptions.

Strangly the epoll functionality will wakeup on EPOLLERR if
you just wait for an exception, so in this respect select()
and epoll differ.

In the end it doesn't really matter, what matters is that
polling file handles are woken up on device unregistration.

It also improves the code a bit if vdev->fops->poll is NULL:
this didn't check for device unregistration.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/v4l2-core/v4l2-dev.c