From: Hans Verkuil Date: Fri, 6 May 2022 07:39:22 +0000 (+0200) Subject: media: cec-adap.c: stop trying LAs on CEC_TX_STATUS_TIMEOUT X-Git-Tag: v5.19-rc1~179^2~86 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=184c387db057c135eeab1a163f863838edb02483;p=tomoyo%2Ftomoyo-test1.git media: cec-adap.c: stop trying LAs on CEC_TX_STATUS_TIMEOUT If, while trying to claim a free logical address, a POLL message times out, then abort this process. A CEC_TX_STATUS_TIMEOUT should be handled the same as a CEC_TX_STATUS_ABORTED. This avoids a situation where transmits time out due to a driver or hardware bug and it takes ages before the attempt to find available free logical addresses finishes. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/cec/core/cec-adap.c b/drivers/media/cec/core/cec-adap.c index b47280fa3b87..004121e3582a 100644 --- a/drivers/media/cec/core/cec-adap.c +++ b/drivers/media/cec/core/cec-adap.c @@ -1282,10 +1282,11 @@ static int cec_config_log_addr(struct cec_adapter *adap, return err; /* - * The message was aborted due to a disconnect or + * The message was aborted or timed out due to a disconnect or * unconfigure, just bail out. */ - if (msg.tx_status & CEC_TX_STATUS_ABORTED) + if (msg.tx_status & + (CEC_TX_STATUS_ABORTED | CEC_TX_STATUS_TIMEOUT)) return -EINTR; if (msg.tx_status & CEC_TX_STATUS_OK) return 0;