drm/bridge/sii8620: fix MSC message removal
authorAndrzej Hajda <a.hajda@samsung.com>
Fri, 25 Nov 2016 14:17:59 +0000 (15:17 +0100)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Wed, 14 Dec 2016 04:54:24 +0000 (13:54 +0900)
Messages queue can be cleaned up by message callbacks, to avoid premature
removal of current message it should be removed from the queue before calling
these callbacks.

Change-Id: Ie95c291d27a1be52291cc2cd1b7dead8f24560b4
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
drivers/gpu/drm/bridge/sil-sii8620.c

index d620e853670aa48e59592c51801e21b93439764c..6d594f5ba3e39fbd7072d3f4032864db2181b685 100644 (file)
@@ -276,11 +276,11 @@ static void sii8620_mt_work(struct sii8620 *ctx)
                ctx->mt_state = MT_STATE_READY;
                msg = list_first_entry(&ctx->mt_queue, struct sii8620_mt_msg,
                                       node);
+               list_del(&msg->node);
                if (msg->recv)
                        msg->recv(ctx, msg);
                if (msg->continuation)
                        msg->continuation(ctx, msg->ret);
-               list_del(&msg->node);
                kfree(msg);
        }