Esempio n. 1
0
/***********************************************************************
 *                        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);
    }    
}
Esempio n. 2
0
/***********************************************************************
 *                        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;
    }
}