void roamingMngr_smStop(void *pData) { roamingMngr_t *pRoamingMngr; pRoamingMngr = (roamingMngr_t*)pData; scanMngr_stopContScan(pRoamingMngr->hScanMngr); /* clean intenal variables */ pRoamingMngr->maskRoamingEvents = TI_TRUE; pRoamingMngr->neighborApsExist = TI_FALSE; pRoamingMngr->roamingTrigger = ROAMING_TRIGGER_NONE; }
/** * * 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_smStopWhileScanning - * * \b Description: * * Stop event means that the station is not in Connected State. * Stop continuos and immediate scans and clean internal vars. * * \b ARGS: * * I - pData - pointer to the roamingMngr SM context \n * * \b RETURNS: * * TI_OK if successful, TI_NOK otherwise. * * */ void roamingMngr_smStopWhileScanning(void *pData) { roamingMngr_t* pRoamingMngr; pRoamingMngr = (roamingMngr_t*)pData; TRACE0(pRoamingMngr->hReport, REPORT_SEVERITY_INFORMATION, " roamingMngr_smStopWhileScanning\n"); scanMngr_stopImmediateScan(pRoamingMngr->hScanMngr); scanMngr_stopContScan(pRoamingMngr->hScanMngr); /* clean intenal variables */ pRoamingMngr->maskRoamingEvents = TI_TRUE; pRoamingMngr->neighborApsExist = TI_FALSE; pRoamingMngr->roamingTrigger = ROAMING_TRIGGER_NONE; }
/** * * 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); } }