Message ID | 1237814107-19422-1-git-send-email-ameya.palande@nokia.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
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
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 --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; }