>From 03b5f57849eda16fb659c4288ae2dc9a2d1582a9 Mon Sep 17 00:00:00 2001 From: Shivananda Hebbar <x0hebbar@xxxxxx> Date: Thu, 17 Dec 2009 17:00:22 -0600 Subject: [PATCH] DSPBRIDGE: Remove conditional check from the InputMsg function This patch removes the conditional check which can result in message skip. Discovered-by: Bhavin Shah <bshah@xxxxxx> Signed-off-by: Shivananda Hebbar <x0hebbar@xxxxxx> --- drivers/dsp/bridge/wmd/io_sm.c | 13 ++++++------- 1 files changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/dsp/bridge/wmd/io_sm.c b/drivers/dsp/bridge/wmd/io_sm.c index a6c8e31..5b7b004 100644 --- a/drivers/dsp/bridge/wmd/io_sm.c +++ b/drivers/dsp/bridge/wmd/io_sm.c @@ -1308,7 +1308,7 @@ static void InputMsg(struct IO_MGR *pIOMgr, struct MSG_MGR *hMsgMgr) fInputEmpty = IO_GetValue(pIOMgr->hWmdContext, struct MSG, pCtrl, bufEmpty); uMsgs = IO_GetValue(pIOMgr->hWmdContext, struct MSG, pCtrl, size); - if (fInputEmpty || uMsgs >= hMsgMgr->uMaxMsgs) + if (fInputEmpty) goto func_end; pMsgInput = pIOMgr->pMsgInput; @@ -1331,12 +1331,11 @@ static void InputMsg(struct IO_MGR *pIOMgr, struct MSG_MGR *hMsgMgr) DBG_Trace(DBG_LEVEL7, "InputMsg RECVD: dwCmd=0x%x dwArg1=0x%x " "dwArg2=0x%x dwId=0x%x \n", msg.msg.dwCmd, msg.msg.dwArg1, msg.msg.dwArg2, msg.dwId); - /* Interrupt may occur before shared memory and message - * input locations have been set up. If all nodes were - * cleaned up, hMsgMgr->uMaxMsgs should be 0. */ - if (hMsgQueue && uMsgs > hMsgMgr->uMaxMsgs) - goto func_end; - + /* + * Interrupt may occur before shared memory and message + * input locations have been set up. If all nodes were + * cleaned up, hMsgMgr->uMaxMsgs should be 0. + */ while (hMsgQueue != NULL) { if (msg.dwId == hMsgQueue->dwId) { /* Found it */ -- 1.6.0.4 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html