aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i2c/tda9950.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i2c/tda9950.c')
-rw-r--r--drivers/gpu/drm/i2c/tda9950.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i2c/tda9950.c b/drivers/gpu/drm/i2c/tda9950.c
index 5d2f0d548469..250b5e02a314 100644
--- a/drivers/gpu/drm/i2c/tda9950.c
+++ b/drivers/gpu/drm/i2c/tda9950.c
@@ -191,7 +191,8 @@ static irqreturn_t tda9950_irq(int irq, void *data)
191 break; 191 break;
192 } 192 }
193 /* TDA9950 executes all retries for us */ 193 /* TDA9950 executes all retries for us */
194 tx_status |= CEC_TX_STATUS_MAX_RETRIES; 194 if (tx_status != CEC_TX_STATUS_OK)
195 tx_status |= CEC_TX_STATUS_MAX_RETRIES;
195 cec_transmit_done(priv->adap, tx_status, arb_lost_cnt, 196 cec_transmit_done(priv->adap, tx_status, arb_lost_cnt,
196 nack_cnt, 0, err_cnt); 197 nack_cnt, 0, err_cnt);
197 break; 198 break;
@@ -310,7 +311,7 @@ static void tda9950_release(struct tda9950_priv *priv)
310 /* Wait up to .5s for it to signal non-busy */ 311 /* Wait up to .5s for it to signal non-busy */
311 do { 312 do {
312 csr = tda9950_read(client, REG_CSR); 313 csr = tda9950_read(client, REG_CSR);
313 if (!(csr & CSR_BUSY) || --timeout) 314 if (!(csr & CSR_BUSY) || !--timeout)
314 break; 315 break;
315 msleep(10); 316 msleep(10);
316 } while (1); 317 } while (1);