RE: [PATCH v4] DSPBRIDGE: Fix to avoid possible recursive locking

Menon, Nishanth
2010-02-17T16:09:26Z

Hi,

> From: Ameya Palande [mailto:ameya.palande@nokia.com]
> Sent: Friday, February 12, 2010 12:21 AM
> To: Chitriki Rudramuni, Deepak
> Cc: linux-omap; Ramirez Luna, Omar; Menon, Nishanth
> Subject: Re: [PATCH v4] DSPBRIDGE: Fix to avoid possible recursive locking
>
> On Thu, 2010-02-11 at 22:54 +0100, ext Deepak Chitriki wrote:
> > Removed NTFY_Notify() in WMD_MSG_Get() to avoid locking contention
> > as NTFY_Notify() is already invoked in InputMsg().
> >
> > Cc: Ameya Palande <ameya.palande@nokia.com>
> > Cc: Omar Ramirez Luna <omar.ramirez@ti.com>
> > Cc: Nishanth Menon <nm@ti.com>
> >
> > Signed-off-by: Deepak Chitriki <deepak.chitriki@ti.com>
>
> Acked-by: Ameya Palande <ameya.palande@nokia.com>

Could this patch be pushed if there are no more comments?

>
> > ---
> > Ref:
> > v0:http://marc.info/?l=linux-omap&m=126584779011493&w=2
> > v1:http://marc.info/?l=linux-omap&m=126586224627725&w=2
> > v2:http://marc.info/?l=linux-omap&m=126591341909124&w=2
> > v3:http://marc.info/?l=linux-omap&m=126591743315572&w=2
> > v4:Comment fixes from v3
> >
> > drivers/dsp/bridge/wmd/msg_sm.c | 10 ++--------
> > 1 files changed, 2 insertions(+), 8 deletions(-)
> >
> > diff --git a/drivers/dsp/bridge/wmd/msg_sm.c
> b/drivers/dsp/bridge/wmd/msg_sm.c
> > index 3a275f1..8475e20 100644
> > --- a/drivers/dsp/bridge/wmd/msg_sm.c
> > +++ b/drivers/dsp/bridge/wmd/msg_sm.c
> > @@ -295,11 +295,8 @@ DSP_STATUS WMD_MSG_Get(struct MSG_QUEUE *hMsgQueue,
> > (struct list_head *)pMsgFrame);
> > if (LST_IsEmpty(hMsgQueue->msgUsedList))
> > SYNC_ResetEvent(hMsgQueue->hSyncEvent);
> > - else {
> > - NTFY_Notify(hMsgQueue->hNtfy,
> > - DSP_NODEMESSAGEREADY);
> > + else
> > SYNC_SetEvent(hMsgQueue->hSyncEvent);
> > - }
> >
> > fGotMsg = true;
> > }
> > @@ -347,11 +344,8 @@ DSP_STATUS WMD_MSG_Get(struct MSG_QUEUE *hMsgQueue,
> > }
> > hMsgQueue->refCount--;
> > /* Reset the event if there are still queued messages */
> > - if (!LST_IsEmpty(hMsgQueue->msgUsedList)) {
> > - NTFY_Notify(hMsgQueue->hNtfy,
> > - DSP_NODEMESSAGEREADY);
> > + if (!LST_IsEmpty(hMsgQueue->msgUsedList))
> > SYNC_SetEvent(hMsgQueue->hSyncEvent);
> > - }
> > /* Exit critical section */
> > (void)SYNC_LeaveCS(hMsgMgr->hSyncCS);
> > }

Regards,
Nishanth Menon