/** * * roamingMngr_smScanFailure * * \b Description: * * This procedure is called when all scan attempts failed. * Send Disconnect event and return to IDLE state. * * * \b ARGS: * * I - hRoamingMngr - roamingMngr SM context \n * * \b RETURNS: * * TI_OK if successful, TI_NOK otherwise. * * */ static void roamingMngr_smScanFailure(TI_HANDLE hRoamingMngr) { roamingMngr_t *pRoamingMngr; pRoamingMngr = (roamingMngr_t*)hRoamingMngr; TRACE0(pRoamingMngr->hReport, REPORT_SEVERITY_INFORMATION, "roamingMngr_smScanFailure \n"); /* clean intenal variables */ pRoamingMngr->maskRoamingEvents = TI_TRUE; pRoamingMngr->roamingTrigger = ROAMING_TRIGGER_NONE; scanMngr_stopContScan(pRoamingMngr->hScanMngr); apConn_disconnect(pRoamingMngr->hAPConnection); }
/** * * roamingMngr_smFailHandover * * \b Description: * * This procedure is called when handover failed and there are no more * APs to roam to. Disconnect the BSS and retrun to IDLE state. * * \b ARGS: * * I - hRoamingMngr - roamingMngr SM context \n * * \b RETURNS: * * TI_OK if successful, TI_NOK otherwise. * * */ static void roamingMngr_smFailHandover(TI_HANDLE hRoamingMngr) { roamingMngr_t *pRoamingMngr; pRoamingMngr = (roamingMngr_t*)hRoamingMngr; TRACE0(pRoamingMngr->hReport, REPORT_SEVERITY_INFORMATION, "roamingMngr_smFailHandover \n"); /* clean intenal variables */ pRoamingMngr->maskRoamingEvents = TI_TRUE; pRoamingMngr->roamingTrigger = ROAMING_TRIGGER_NONE; scanMngr_stopContScan(pRoamingMngr->hScanMngr); #ifdef TI_DBG pRoamingMngr->roamingFailedHandoverNum++; #endif apConn_disconnect(pRoamingMngr->hAPConnection); }
/** * * roamingMngr_smDisconnectWhileConnecting * * \b Description: * * This procedure is called when the Station is in the process of connection, * and the AP disconnects the station. * * \b ARGS: * * I - hRoamingMngr - roamingMngr SM context \n * * \b RETURNS: * * TI_OK if successful, TI_NOK otherwise. * * */ static void roamingMngr_smDisconnectWhileConnecting(TI_HANDLE hRoamingMngr) { roamingMngr_t *pRoamingMngr; pRoamingMngr = (roamingMngr_t*)hRoamingMngr; TRACE1(pRoamingMngr->hReport, REPORT_SEVERITY_INFORMATION, "roamingMngr_smDisconnectWhileConnecting, candidateApIndex=%d \n", pRoamingMngr->candidateApIndex); if (pRoamingMngr->roamingTrigger > ROAMING_TRIGGER_FAST_CONNECT_GROUP) { /* If the trigger is from the Full Connect group, then stop the connection. */ /* clean intenal variables */ pRoamingMngr->maskRoamingEvents = TI_TRUE; pRoamingMngr->roamingTrigger = ROAMING_TRIGGER_NONE; scanMngr_stopContScan(pRoamingMngr->hScanMngr); #ifdef TI_DBG pRoamingMngr->roamingFailedHandoverNum++; #endif apConn_disconnect(pRoamingMngr->hAPConnection); } }