From 7d3047ce8f8d8e7b34b8fdaf36f1d5ef74ab9318 Mon Sep 17 00:00:00 2001 From: Fei Jiang Date: Thu, 14 Jun 2012 22:13:19 +0800 Subject: [PATCH] kernel-drm: resolve kernel bug at padding message wrap BZ: 41479 Actually padding message can also be wrapped, should not set BUG_ON that. Add warning info printing for this case. Change-Id: Ia4a0c2422b6333d9a7111aefadb12d5002ee9b9f Signed-off-by: Fei Jiang --- drivers/staging/mrst/imgv/psb_msvdx.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/staging/mrst/imgv/psb_msvdx.c b/drivers/staging/mrst/imgv/psb_msvdx.c index 95119c0..fadfabe 100644 --- a/drivers/staging/mrst/imgv/psb_msvdx.c +++ b/drivers/staging/mrst/imgv/psb_msvdx.c @@ -634,8 +634,11 @@ int psb_mtx_send(struct drm_psb_private *dev_priv, const void *msg) /* message would wrap, need to send a pad message */ if (widx + msg_num > buf_size) { /* Shouldn't happen for a PAD message itself */ - BUG_ON(MEMIO_READ_FIELD(msg, FWRK_GENMSG_ID) - == FWRK_MSGID_PADDING); + if (MEMIO_READ_FIELD(msg, FWRK_GENMSG_ID) + == FWRK_MSGID_PADDING) + DRM_INFO("MSVDX WARNING: should not wrap pad msg, " + "buf_size is %d, widx is %d, msg_num is %d.\n", + buf_size, widx, msg_num); /* if the read pointer is at zero then we must wait for it to * change otherwise the write pointer will equal the read -- 2.7.4