diff mbox

DSPBRIDGE: Fix error handling in NODE_GetUUIDProps

Message ID 1237814107-19422-1-git-send-email-ameya.palande@nokia.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Ameya Palande March 23, 2009, 1:15 p.m. UTC
From: Seth Forshee <seth.forshee@gmail.com>

The error handling is ineffective and can lead to an oops.

Acked-by: Ameya Palande <ameya.palande@nokia.com>
Signed-off-by: Seth Forshee <seth.forshee@gmail.com>
---
 drivers/dsp/bridge/rmgr/node.c |   26 ++++++++++++++++----------
 1 files changed, 16 insertions(+), 10 deletions(-)

Comments

Seth Forshee March 23, 2009, 2:38 p.m. UTC | #1
On Mon, Mar 23, 2009 at 03:15:07PM +0200, Ameya Palande wrote:
> From: Seth Forshee <seth.forshee@gmail.com>
> 
> The error handling is ineffective and can lead to an oops.
> 
> Acked-by: Ameya Palande <ameya.palande@nokia.com>
> Signed-off-by: Seth Forshee <seth.forshee@gmail.com>

Ah, hadn't seen this one yet when I sent my previous reply.  Thanks.

Seth
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Seth Forshee March 23, 2009, 2:53 p.m. UTC | #2
On Mon, Mar 23, 2009 at 09:38:47AM -0500, Seth Forshee wrote:
> On Mon, Mar 23, 2009 at 03:15:07PM +0200, Ameya Palande wrote:
> > From: Seth Forshee <seth.forshee@gmail.com>
> > 
> > The error handling is ineffective and can lead to an oops.
> > 
> > Acked-by: Ameya Palande <ameya.palande@nokia.com>
> > Signed-off-by: Seth Forshee <seth.forshee@gmail.com>
> 
> Ah, hadn't seen this one yet when I sent my previous reply.  Thanks.

Whoops, there was a discussion on this topic on the omap-android list,
and I didn't notice that this patch was posted to the linux-omap list
instead of that one.  Sorry for the noise.

Cheers,
Seth
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/dsp/bridge/rmgr/node.c b/drivers/dsp/bridge/rmgr/node.c
index 357d1cf..243e14b 100644
--- a/drivers/dsp/bridge/rmgr/node.c
+++ b/drivers/dsp/bridge/rmgr/node.c
@@ -3285,16 +3285,23 @@  DSP_STATUS NODE_GetUUIDProps(DSP_HPROCESSOR hProcessor,
 		 pNodeId, pNodeProps);
 
 	status = PROC_GetDevObject(hProcessor, &hDevObject);
-	if (DSP_SUCCEEDED(status)) {
-		status = DEV_GetNodeManager(hDevObject, &hNodeMgr);
-		if (hNodeMgr == NULL)
-			status = DSP_EFAIL;
+	if (DSP_FAILED(status))
+		goto func_end;
+
+	status = DEV_GetNodeManager(hDevObject, &hNodeMgr);
+	if (DSP_FAILED(status))
+		goto func_end;
+	if (hNodeMgr == NULL) {
+		status = DSP_EFAIL;
+		goto func_end;
 	}
 
-	/*  Enter the critical section.  This is needed because
-	* DCD_GetObjectDef will ultimately end up calling DBLL_open/close,
-	* which needs to be protected in order to not corrupt the zlib manager
-	* (COD). */
+	/*
+	 * Enter the critical section. This is needed because
+	 * DCD_GetObjectDef will ultimately end up calling DBLL_open/close,
+	 * which needs to be protected in order to not corrupt the zlib manager
+	 * (COD).
+	 */
 	status = SYNC_EnterCS(hNodeMgr->hSync);
 
 	if (DSP_SUCCEEDED(status)) {
@@ -3323,9 +3330,8 @@  DSP_STATUS NODE_GetUUIDProps(DSP_HPROCESSOR hProcessor,
 		}
 		/*  Leave the critical section, we're done.  */
 		(void)SYNC_LeaveCS(hNodeMgr->hSync);
-
 	}
-
+func_end:
 	return status;
 }