/*********************************************************************** * healthMonitor_proccessFailureEvent *********************************************************************** DESCRIPTION: this is the central error function - will be passed as call back to the TnetWDriver modules. it will parse the error and dispatch the relevant action (recovery or not) INPUT: hHealthMonitor - health monitor handle bTwdInitOccured - Indicates if TWDriver recovery occured since timer started OUTPUT: RETURN: ************************************************************************/ void healthMonitor_proccessFailureEvent (TI_HANDLE hHealthMonitor, TI_BOOL bTwdInitOccured) { THealthMonitor *pHealthMonitor = (THealthMonitor*)hHealthMonitor; /* Check failure event validity */ if (pHealthMonitor->failureEvent < MAX_FAILURE_EVENTS) { pHealthMonitor->recoveryTriggersNumber[pHealthMonitor->failureEvent] ++; TRACE2(pHealthMonitor->hReport, REPORT_SEVERITY_CONSOLE, "***** recovery trigger: failureEvent =%d *****, ts=%d\n", pHealthMonitor->failureEvent, os_timeStampMs(pHealthMonitor->hOs)); WLAN_OS_REPORT (("***** recovery trigger: %s *****, ts=%d\n", sRecoveryTriggersNames[pHealthMonitor->failureEvent], os_timeStampMs(pHealthMonitor->hOs))); if (TWD_RecoveryEnabled (pHealthMonitor->hTWD)) { pHealthMonitor->numOfRecoveryPerformed ++; drvMain_Recovery (pHealthMonitor->hDrvMain); } else { TRACE0(pHealthMonitor->hReport, REPORT_SEVERITY_CONSOLE, "healthMonitor_proccessFailureEvent: Recovery is disabled in tiwlan.ini, abort recovery process\n"); WLAN_OS_REPORT(("healthMonitor_proccessFailureEvent: Recovery is disabled in tiwlan.ini, abort recovery process\n")); } pHealthMonitor->failureEvent = (TI_UINT32)NO_FAILURE; } else { TRACE1(pHealthMonitor->hReport, REPORT_SEVERITY_ERROR , "unsupported failure event = %d\n", pHealthMonitor->failureEvent); } }
/*********************************************************************** * healthMonitor_proccessFailureEvent *********************************************************************** DESCRIPTION: this is the central error function - will be passed as call back to the TnetWDriver modules. it will parse the error and dispatch the relevant action (recovery or not) INPUT: hHealthMonitor - health monitor handle bTwdInitOccured - Indicates if TWDriver recovery occured since timer started OUTPUT: RETURN: ************************************************************************/ void healthMonitor_proccessFailureEvent (TI_HANDLE hHealthMonitor, TI_BOOL bTwdInitOccured) { THealthMonitor *pHealthMonitor = (THealthMonitor*)hHealthMonitor; /* Check failure event validity */ if (pHealthMonitor->failureEvent < MAX_FAILURE_EVENTS) { pHealthMonitor->recoveryTriggersNumber[pHealthMonitor->failureEvent] ++; if (TWD_RecoveryEnabled (pHealthMonitor->hTWD)) { pHealthMonitor->numOfRecoveryPerformed ++; drvMain_Recovery (pHealthMonitor->hDrvMain); } pHealthMonitor->failureEvent = (TI_UINT32)NO_FAILURE; } }