summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2018-10-04 10:28:27 +1000
committerDave Airlie <airlied@redhat.com>2018-10-04 10:32:14 +1000
commitd8938c981f58ee344687b7910a611ac345960045 (patch)
tree3a9c70ce5c7a8889e82292643cdec5fa4a2357d8
parent659c9370e53c99b2e98eba0c07161f839dbf8521 (diff)
parente0dccce1193f87597548d0db6ecc942fb92c04cd (diff)
downloadlinux-stable-d8938c981f58ee344687b7910a611ac345960045.tar.gz
linux-stable-d8938c981f58ee344687b7910a611ac345960045.tar.bz2
linux-stable-d8938c981f58ee344687b7910a611ac345960045.zip
Merge branch 'drm-tda9950-fixes' of git://git.armlinux.org.uk/~rmk/linux-arm into drm-fixes
two tda9950 fixes. Signed-off-by: Dave Airlie <airlied@redhat.com> From: Russell King <rmk@armlinux.org.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20181001162948.GA9508@rmk-PC.armlinux.org.uk
-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)
break;
}
/* TDA9950 executes all retries for us */
- tx_status |= CEC_TX_STATUS_MAX_RETRIES;
+ if (tx_status != CEC_TX_STATUS_OK)
+ tx_status |= CEC_TX_STATUS_MAX_RETRIES;
cec_transmit_done(priv->adap, tx_status, arb_lost_cnt,
nack_cnt, 0, err_cnt);
break;
@@ -310,7 +311,7 @@ static void tda9950_release(struct tda9950_priv *priv)
/* Wait up to .5s for it to signal non-busy */
do {
csr = tda9950_read(client, REG_CSR);
- if (!(csr & CSR_BUSY) || --timeout)
+ if (!(csr & CSR_BUSY) || !--timeout)
break;
msleep(10);
} while (1);