summaryrefslogtreecommitdiff
path: root/drivers/staging/media/cec
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2016-07-17 13:02:44 -0300
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2016-07-19 13:27:10 -0300
commitb7cbc892532316f2abd880186301e57239a17f28 (patch)
treefa7ae7b586601f8779620bfb0c3ee932d447a4a4 /drivers/staging/media/cec
parent83505028d859bcbb69691aabade9dc633e5b74ea (diff)
[media] cec: poll should check if there is room in the tx queue
For POLLOUT poll only checked if the adapter was configured, not if there was room in the transmit queue. Add that check. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/staging/media/cec')
-rw-r--r--drivers/staging/media/cec/cec-api.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/staging/media/cec/cec-api.c b/drivers/staging/media/cec/cec-api.c
index 559f6500d114..7be7615a0fdf 100644
--- a/drivers/staging/media/cec/cec-api.c
+++ b/drivers/staging/media/cec/cec-api.c
@@ -52,7 +52,8 @@ static unsigned int cec_poll(struct file *filp,
if (!devnode->registered)
return POLLERR | POLLHUP;
mutex_lock(&adap->lock);
- if (adap->is_configured)
+ if (adap->is_configured &&
+ adap->transmit_queue_sz < CEC_MAX_MSG_TX_QUEUE_SZ)
res |= POLLOUT | POLLWRNORM;
if (fh->queued_msgs)
res |= POLLIN | POLLRDNORM;