From patchwork Tue Aug 11 01:21:49 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ameya Palande X-Patchwork-Id: 40540 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n7B1M78J010158 for ; Tue, 11 Aug 2009 01:22:23 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752569AbZHKBWT (ORCPT ); Mon, 10 Aug 2009 21:22:19 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750850AbZHKBWT (ORCPT ); Mon, 10 Aug 2009 21:22:19 -0400 Received: from smtp.nokia.com ([192.100.122.233]:28870 "EHLO mgw-mx06.nokia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752569AbZHKBWP (ORCPT ); Mon, 10 Aug 2009 21:22:15 -0400 Received: from vaebh106.NOE.Nokia.com (vaebh106.europe.nokia.com [10.160.244.32]) by mgw-mx06.nokia.com (Switch-3.3.3/Switch-3.3.3) with ESMTP id n7B1LulK011026; Tue, 11 Aug 2009 04:22:01 +0300 Received: from vaebh104.NOE.Nokia.com ([10.160.244.30]) by vaebh106.NOE.Nokia.com with Microsoft SMTPSVC(6.0.3790.3959); Tue, 11 Aug 2009 04:22:07 +0300 Received: from mgw-sa01.ext.nokia.com ([147.243.1.47]) by vaebh104.NOE.Nokia.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.3959); Tue, 11 Aug 2009 04:22:07 +0300 Received: from localhost.localdomain (mipv6-1.research.nokia.com [172.21.41.19]) by mgw-sa01.ext.nokia.com (Switch-3.3.3/Switch-3.3.3) with ESMTP id n7B1LpoK002545; Tue, 11 Aug 2009 04:22:03 +0300 From: Ameya Palande To: linux-omap@vger.kernel.org Cc: hiroshi.doyu@nokia.com, omar.ramirez@ti.com, x0095840@ti.com, suyog@ti.com, roman.tereshonkov@nokia.com, ernesto@ti.com Subject: [PATCH 08/13] DSPBRIDGE: Use pr_ctxt in DRV_RemoveProcContext Date: Tue, 11 Aug 2009 04:21:49 +0300 Message-Id: <1249953714-20972-9-git-send-email-ameya.palande@nokia.com> X-Mailer: git-send-email 1.6.2.4 In-Reply-To: <1249953714-20972-8-git-send-email-ameya.palande@nokia.com> References: <1249953714-20972-1-git-send-email-ameya.palande@nokia.com> <1249953714-20972-2-git-send-email-ameya.palande@nokia.com> <1249953714-20972-3-git-send-email-ameya.palande@nokia.com> <1249953714-20972-4-git-send-email-ameya.palande@nokia.com> <1249953714-20972-5-git-send-email-ameya.palande@nokia.com> <1249953714-20972-6-git-send-email-ameya.palande@nokia.com> <1249953714-20972-7-git-send-email-ameya.palande@nokia.com> <1249953714-20972-8-git-send-email-ameya.palande@nokia.com> X-OriginalArrivalTime: 11 Aug 2009 01:22:07.0167 (UTC) FILETIME=[242DC4F0:01CA1A22] X-Nokia-AV: Clean Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org Signed-off-by: Ameya Palande --- .../plat-omap/include/dspbridge/resourcecleanup.h | 2 +- drivers/dsp/bridge/rmgr/drv.c | 32 ++++++++++---------- drivers/dsp/bridge/rmgr/drv_interface.c | 4 +- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/arch/arm/plat-omap/include/dspbridge/resourcecleanup.h b/arch/arm/plat-omap/include/dspbridge/resourcecleanup.h index b43fa16..5592f38 100644 --- a/arch/arm/plat-omap/include/dspbridge/resourcecleanup.h +++ b/arch/arm/plat-omap/include/dspbridge/resourcecleanup.h @@ -43,7 +43,7 @@ extern DSP_STATUS DRV_GetProcContext(u32 phProcess, extern DSP_STATUS DRV_RemoveAllResources(HANDLE pPctxt); extern DSP_STATUS DRV_RemoveProcContext(struct DRV_OBJECT *hDRVObject, - HANDLE hPCtxt, HANDLE hProcess); + HANDLE hPCtxt); extern DSP_STATUS DRV_GetNodeResElement(HANDLE hNode, HANDLE nodeRes, HANDLE pCtxt); diff --git a/drivers/dsp/bridge/rmgr/drv.c b/drivers/dsp/bridge/rmgr/drv.c index e64b997..6cfd349 100644 --- a/drivers/dsp/bridge/rmgr/drv.c +++ b/drivers/dsp/bridge/rmgr/drv.c @@ -317,36 +317,36 @@ DSP_STATUS DRV_InsertProcContext(struct DRV_OBJECT *hDrVObject, HANDLE hPCtxt) /* Delete a process context from process resource context list */ DSP_STATUS DRV_RemoveProcContext(struct DRV_OBJECT *hDRVObject, - HANDLE hPCtxt, HANDLE hProcess) + HANDLE pr_ctxt) { DSP_STATUS status = DSP_SOK; - struct PROCESS_CONTEXT *pCtxt2 = NULL; - struct PROCESS_CONTEXT *pTmp = NULL; - struct PROCESS_CONTEXT *pCtxtList = NULL; + struct PROCESS_CONTEXT *pr_ctxt_list = NULL; + struct PROCESS_CONTEXT *ptr_prev; DBC_Assert(hDRVObject != NULL); - DRV_GetProcContext((u32)hProcess, hDRVObject, &pCtxt2, NULL, 0); GT_0trace(curTrace, GT_ENTER, "DRV_RemoveProcContext: 12"); - DRV_GetProcCtxtList(&pCtxtList, hDRVObject); + DRV_GetProcCtxtList(&pr_ctxt_list, hDRVObject); + ptr_prev = pr_ctxt_list; + GT_0trace(curTrace, GT_ENTER, "DRV_RemoveProcContext: 13"); - pTmp = pCtxtList; - while ((pCtxtList != NULL) && (pCtxtList != pCtxt2)) { - pTmp = pCtxtList; - pCtxtList = pCtxtList->next; + while (pr_ctxt_list && (pr_ctxt_list != pr_ctxt)) { + ptr_prev = pr_ctxt_list; + pr_ctxt_list = pr_ctxt_list->next; GT_0trace(curTrace, GT_ENTER, "DRV_RemoveProcContext: 2"); } + GT_0trace(curTrace, GT_ENTER, "DRV_RemoveProcContext: 3"); - if (hDRVObject->procCtxtList == pCtxt2) - hDRVObject->procCtxtList = pCtxt2->next; - if (pCtxtList == NULL) + if (!pr_ctxt_list) return DSP_ENOTFOUND; - else if (pTmp->next != NULL) - pTmp->next = pTmp->next->next; + else if (pr_ctxt_list->next != NULL) + ptr_prev->next = pr_ctxt_list->next; + else + hDRVObject->procCtxtList = NULL; - MEM_Free(pCtxt2); + MEM_Free(pr_ctxt); GT_0trace(curTrace, GT_ENTER, "DRV_RemoveProcContext: 7"); return status; diff --git a/drivers/dsp/bridge/rmgr/drv_interface.c b/drivers/dsp/bridge/rmgr/drv_interface.c index 1cb3d74..fa79695 100644 --- a/drivers/dsp/bridge/rmgr/drv_interface.c +++ b/drivers/dsp/bridge/rmgr/drv_interface.c @@ -481,7 +481,7 @@ static int __devexit omap34xx_bridge_remove(struct platform_device *pdev) } pTmp = pCtxtclosed->next; DRV_RemoveProcContext((struct DRV_OBJECT *)hDrvObject, - pCtxtclosed, (void *)pCtxtclosed->pid); + pCtxtclosed); pCtxtclosed = pTmp; } @@ -630,7 +630,7 @@ static int bridge_release(struct inode *ip, struct file *filp) PROC_Detach(proc_obj_ptr, pr_ctxt); } DRV_RemoveProcContext((struct DRV_OBJECT *)hDrvObject, - pr_ctxt, (void *)pr_ctxt->pid); + pr_ctxt); } else { status = -EIO; }