Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/i2c: tda9950: set MAX_RETRIES for errors only

The CEC_TX_STATUS_MAX_RETRIES should be set for errors only to
prevent the CEC framework from retrying the transmit. If the
transmit was successful, then don't set this flag.

Found by running 'cec-compliance -A' on a beaglebone box.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>

authored by

Hans Verkuil and committed by
Russell King
e0dccce1 d98627d1

+2 -1
+2 -1
drivers/gpu/drm/i2c/tda9950.c
··· 188 188 break; 189 189 } 190 190 /* TDA9950 executes all retries for us */ 191 - tx_status |= CEC_TX_STATUS_MAX_RETRIES; 191 + if (tx_status != CEC_TX_STATUS_OK) 192 + tx_status |= CEC_TX_STATUS_MAX_RETRIES; 192 193 cec_transmit_done(priv->adap, tx_status, arb_lost_cnt, 193 194 nack_cnt, 0, err_cnt); 194 195 break;