Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d102cac8 authored by Changbing Xiong's avatar Changbing Xiong Committed by Mauro Carvalho Chehab
Browse files

[media] media: check status of dmxdev->exit in poll functions of demux&dvr



when usb-type tuner is pulled out, user applications did not close device's FD,
and go on polling the device, we should return POLLERR directly.

Signed-off-by: default avatarChangbing Xiong <cb.xiong@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 236c9bfa
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1085,9 +1085,10 @@ static long dvb_demux_ioctl(struct file *file, unsigned int cmd,
static unsigned int dvb_demux_poll(struct file *file, poll_table *wait)
{
	struct dmxdev_filter *dmxdevfilter = file->private_data;
	struct dmxdev *dmxdev = dmxdevfilter->dev;
	unsigned int mask = 0;

	if (!dmxdevfilter)
	if ((!dmxdevfilter) || (dmxdev->exit))
		return POLLERR;

	poll_wait(file, &dmxdevfilter->buffer.queue, wait);
@@ -1181,6 +1182,9 @@ static unsigned int dvb_dvr_poll(struct file *file, poll_table *wait)

	dprintk("function : %s\n", __func__);

	if (dmxdev->exit)
		return POLLERR;

	poll_wait(file, &dmxdev->dvr_buffer.queue, wait);

	if ((file->f_flags & O_ACCMODE) == O_RDONLY) {