diff mbox

DSPBRIDGE: MEM_Free() cleanup

Message ID 577decfb1227d1772fb5a92f796a101464be2b50.1265038929.git.ameya.palande@nokia.com (mailing list archive)
State Not Applicable, archived
Delegated to:
Headers show

Commit Message

Ameya Palande Feb. 1, 2010, 4:57 p.m. UTC
None
diff mbox

Patch

diff --git a/drivers/dsp/bridge/services/mem.c b/drivers/dsp/bridge/services/mem.c
index cee646a..dfe352d 100644
--- a/drivers/dsp/bridge/services/mem.c
+++ b/drivers/dsp/bridge/services/mem.c
@@ -495,35 +495,27 @@  void MEM_VFree(IN void *pMemBuf)
 void MEM_Free(IN void *pMemBuf)
 {
 #ifdef MEM_CHECK
-	struct memInfo *pMem = (void *)((u32)pMemBuf - sizeof(struct memInfo));
+	struct memInfo *pMem;
 #endif
-
-	DBC_Require(pMemBuf != NULL);
-
 	GT_1trace(MEM_debugMask, GT_ENTER, "MEM_Free: pMemBufs 0x%x\n",
 		  pMemBuf);
-
-	if (pMemBuf) {
-#ifndef MEM_CHECK
-		kfree(pMemBuf);
+#ifdef MEM_CHECK
+	if (!pMemBuf) {
+		GT_1trace(MEM_debugMask, GT_7CLASS,
+			"Invalid allocation or Buffer underflow\n");
+		return;
+	}
+	pMem = (void *)((u32)pMemBuf - sizeof(struct memInfo));
+	if (pMem && pMem->dwSignature == memInfoSign) {
+		spin_lock(&mMan.lock);
+		MLST_RemoveElem(&mMan.lst, (struct list_head *)pMem);
+		spin_unlock(&mMan.lock);
+		pMem->dwSignature = 0;
+		kfree(pMem);
+	}
 #else
-		if (pMem) {
-			if (pMem->dwSignature == memInfoSign) {
-				spin_lock(&mMan.lock);
-				MLST_RemoveElem(&mMan.lst,
-						(struct list_head *)pMem);
-				spin_unlock(&mMan.lock);
-				pMem->dwSignature = 0;
-				kfree(pMem);
-			} else {
-				GT_1trace(MEM_debugMask, GT_7CLASS,
-					"Invalid allocation or "
-					"Buffer underflow at %x\n",
-					(u32) pMem + sizeof(struct memInfo));
-			}
-		}
+	kfree(pMemBuf);
 #endif
-	}
 }
 
 /*