diff options
-rw-r--r-- | drivers/media/dvb/cinergyT2/cinergyT2.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/media/dvb/cinergyT2/cinergyT2.c b/drivers/media/dvb/cinergyT2/cinergyT2.c index c7e4134872d4..8cfdad6f50fb 100644 --- a/drivers/media/dvb/cinergyT2/cinergyT2.c +++ b/drivers/media/dvb/cinergyT2/cinergyT2.c | |||
@@ -544,15 +544,19 @@ static unsigned int cinergyt2_poll (struct file *file, struct poll_table_struct | |||
544 | { | 544 | { |
545 | struct dvb_device *dvbdev = file->private_data; | 545 | struct dvb_device *dvbdev = file->private_data; |
546 | struct cinergyt2 *cinergyt2 = dvbdev->priv; | 546 | struct cinergyt2 *cinergyt2 = dvbdev->priv; |
547 | unsigned int mask = 0; | ||
547 | 548 | ||
548 | if (cinergyt2->disconnect_pending || mutex_lock_interruptible(&cinergyt2->sem)) | 549 | if (cinergyt2->disconnect_pending || mutex_lock_interruptible(&cinergyt2->sem)) |
549 | return -ERESTARTSYS; | 550 | return -ERESTARTSYS; |
550 | 551 | ||
551 | poll_wait(file, &cinergyt2->poll_wq, wait); | 552 | poll_wait(file, &cinergyt2->poll_wq, wait); |
552 | 553 | ||
554 | if (cinergyt2->pending_fe_events != 0) | ||
555 | mask |= (POLLIN | POLLRDNORM | POLLPRI); | ||
556 | |||
553 | mutex_unlock(&cinergyt2->sem); | 557 | mutex_unlock(&cinergyt2->sem); |
554 | 558 | ||
555 | return (POLLIN | POLLRDNORM | POLLPRI); | 559 | return mask; |
556 | } | 560 | } |
557 | 561 | ||
558 | 562 | ||