/* * \brief The CB called in the driver context upon new interrupt * * \param hFwEvent - FwEvent Driver handle * \return void * * \par Description * Called by the context module after scheduled by fwEvent_InterruptRequest(). * If IDLE, start the SM, and if not just indicate pending event for later. * * \sa */ static void fwEvent_NewEvent (TI_HANDLE hFwEvent) { TfwEvent *pFwEvent = (TfwEvent *)hFwEvent; /* If the SM is idle, call it to start handling new events */ if (pFwEvent->eSmState == FWEVENT_STATE_IDLE) { fwEvent_StateMachine (pFwEvent); } /* Else - SM is busy so set flag to handle it when finished with current events */ else { pFwEvent->bIntrPending = TI_TRUE; } }
/* * \brief The CB called in the driver context upon new interrupt * * \param hFwEvent - FwEvent Driver handle * \return void * * \par Description * Called by the context module after scheduled by fwEvent_InterruptRequest(). * If IDLE, start the SM, and if not just indicate pending event for later. * * \sa */ static void fwEvent_NewEvent (TI_HANDLE hFwEvent) { TfwEvent *pFwEvent = (TfwEvent *)hFwEvent; CL_TRACE_START_L2(); /* If the SM is idle, call it to start handling new events */ if (pFwEvent->eSmState == FWEVENT_STATE_IDLE) { TRACE0(pFwEvent->hReport, REPORT_SEVERITY_INFORMATION, "fwEvent_NewEvent: Start SM\n"); fwEvent_StateMachine (pFwEvent); } /* Else - SM is busy so set flag to handle it when finished with current events */ else { TRACE0(pFwEvent->hReport, REPORT_SEVERITY_INFORMATION, "fwEvent_NewEvent: SM busy, set IntrPending flag\n"); pFwEvent->bIntrPending = TI_TRUE; } CL_TRACE_END_L2("tiwlan_drv.ko", "CONTEXT", "FwEvent", ""); }