Explorar o código

[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>
Hans Verkuil %!s(int64=9) %!d(string=hai) anos
pai
achega
b7cbc89253
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      drivers/staging/media/cec/cec-api.c

+ 2 - 1
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;