summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2009-10-22 06:46:26 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2009-10-22 06:46:26 -0700
commit52adf829923ee6037c74ff050f815973f73129e0 (patch)
tree55e25496ab236e65f1c5800506d514ca378cdf2c
parent18fc778564517faa85a0f472bc136672f9428a52 (diff)
parent83ad7a4013d544883b51df130b68f5bd741aed08 (diff)
downloadti-52adf829923ee6037c74ff050f815973f73129e0.tar.gz
am 83ad7a40: Merge change I09dfaca5 into eclair
Merge commit '83ad7a4013d544883b51df130b68f5bd741aed08' into eclair-mr2 * commit '83ad7a4013d544883b51df130b68f5bd741aed08': Add check for NULL pointer in sync functions (http://b/issue?id=2198151)
-rw-r--r--wilink_6_1/platforms/os/linux/src/osapi.c9
-rw-r--r--wilink_6_1/stad/src/Ctrl_Interface/DrvMain.c5
2 files changed, 13 insertions, 1 deletions
diff --git a/wilink_6_1/platforms/os/linux/src/osapi.c b/wilink_6_1/platforms/os/linux/src/osapi.c
index 4bdae8d..fd99089 100644
--- a/wilink_6_1/platforms/os/linux/src/osapi.c
+++ b/wilink_6_1/platforms/os/linux/src/osapi.c
@@ -737,7 +737,8 @@ void *os_SignalObjectCreate (TI_HANDLE OsContext)
{
struct completion *myPtr;
myPtr = os_memoryAlloc(OsContext, sizeof(struct completion));
- init_completion (myPtr);
+ if (myPtr)
+ init_completion (myPtr);
return (myPtr);
}
@@ -753,6 +754,8 @@ Return Value: TI_OK
-----------------------------------------------------------------------------*/
int os_SignalObjectWait (TI_HANDLE OsContext, void *signalObject)
{
+ if (!signalObject)
+ return TI_NOK;
wait_for_completion ((struct completion *)signalObject);
return TI_OK;
}
@@ -769,6 +772,8 @@ Return Value: TI_OK
-----------------------------------------------------------------------------*/
int os_SignalObjectSet (TI_HANDLE OsContext, void *signalObject)
{
+ if (!signalObject)
+ return TI_NOK;
complete ((struct completion *)signalObject);
return TI_OK;
}
@@ -785,6 +790,8 @@ Return Value: TI_OK
-----------------------------------------------------------------------------*/
int os_SignalObjectFree (TI_HANDLE OsContext, void *signalObject)
{
+ if (!signalObject)
+ return TI_NOK;
os_memoryFree(OsContext, signalObject, sizeof(struct completion));
return TI_OK;
}
diff --git a/wilink_6_1/stad/src/Ctrl_Interface/DrvMain.c b/wilink_6_1/stad/src/Ctrl_Interface/DrvMain.c
index 00ae174..257cf20 100644
--- a/wilink_6_1/stad/src/Ctrl_Interface/DrvMain.c
+++ b/wilink_6_1/stad/src/Ctrl_Interface/DrvMain.c
@@ -1266,6 +1266,7 @@ TI_STATUS drvMain_InsertAction (TI_HANDLE hDrvMain, EActionType eAction)
/* Free signalling object */
os_SignalObjectFree (pDrvMain->tStadHandles.hOs, pDrvMain->hSignalObj);
+ pDrvMain->hSignalObj = NULL;
if (pDrvMain->eSmState == SM_STATE_FAILED)
return TI_NOK;
@@ -1292,7 +1293,11 @@ TI_STATUS drvMain_Recovery (TI_HANDLE hDrvMain)
if (!pDrvMain->bRecovery)
{
TRACE1(pDrvMain->tStadHandles.hReport, REPORT_SEVERITY_CONSOLE,".....drvMain_Recovery, ts=%d\n", os_timeStampMs(pDrvMain->tStadHandles.hOs));
+#ifdef REPORT_LOG
WLAN_OS_REPORT((".....drvMain_Recovery, ts=%d\n", os_timeStampMs(pDrvMain->tStadHandles.hOs)));
+#else
+ printk("%s\n",__func__);
+#endif
pDrvMain->bRecovery = TI_TRUE;
drvMain_SmEvent (hDrvMain, SM_EVENT_RECOVERY);
return TI_OK;