From f318e3668f48a5e7c38330e4f5aa1e7f578cee70 Mon Sep 17 00:00:00 2001 From: Andrzej Hajda Date: Mon, 17 Oct 2016 14:37:47 +0200 Subject: [PATCH] drm/bridge/sii8620: fix message worker function Messages should not be handled in error and busy state. Also state should be update on success. Change-Id: Ib6ac51f920cb44f75628cbec78b3bb32774816ff Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/bridge/sii8620.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/bridge/sii8620.c b/drivers/gpu/drm/bridge/sii8620.c index 56d310de6959..384e592ba6e5 100644 --- a/drivers/gpu/drm/bridge/sii8620.c +++ b/drivers/gpu/drm/bridge/sii8620.c @@ -244,10 +244,13 @@ static void sii8620_mt_work(struct sii8620 *ctx) { struct sii8620_mt_msg *msg; - if (list_empty(&ctx->mt_queue)) + if (ctx->error) + return; + if (ctx->mt_state == MT_STATE_BUSY || list_empty(&ctx->mt_queue)) return; if (ctx->mt_state == MT_STATE_DONE) { + ctx->mt_state = MT_STATE_READY; msg = list_first_entry(&ctx->mt_queue, struct sii8620_mt_msg, node); if (msg->recv) -- 2.34.1