コード例 #1
0
ファイル: p2p_state.c プロジェクト: Scorpio92/mediatek
VOID
p2pStateAbort_IDLE (
    IN P_ADAPTER_T prAdapter,
    IN P_P2P_FSM_INFO_T prP2pFsmInfo,
    IN ENUM_P2P_STATE_T eNextState
    )
{

    P_P2P_CHNL_REQ_INFO_T prChnlReqInfo = (P_P2P_CHNL_REQ_INFO_T)NULL;

    do {
        ASSERT_BREAK((prAdapter != NULL) &&
                                    (prP2pFsmInfo != NULL));

        prChnlReqInfo = &prP2pFsmInfo->rChnlReqInfo;


        if (prChnlReqInfo->fgIsChannelRequested) {
            /* Release channel before timeout. */
            p2pFuncReleaseCh(prAdapter, prChnlReqInfo);
        }


        /* Stop timer for leaving this state. */
        cnmTimerStopTimer(prAdapter, &(prP2pFsmInfo->rP2pFsmTimeoutTimer));

    } while (FALSE);

    return;
} /* p2pStateAbort_IDLE */
コード例 #2
0
ファイル: p2p_state.c プロジェクト: Scorpio92/mediatek
VOID
p2pStateAbort_CHNL_ON_HAND (
    IN P_ADAPTER_T prAdapter,
    IN P_P2P_FSM_INFO_T prP2pFsmInfo,
    IN P_BSS_INFO_T prP2pBssInfo,
    IN ENUM_P2P_STATE_T eNextState
    )
{
    P_P2P_CHNL_REQ_INFO_T prChnlReqInfo = (P_P2P_CHNL_REQ_INFO_T)NULL;


    do {
        ASSERT_BREAK((prAdapter != NULL) && (prP2pFsmInfo != NULL));

        prChnlReqInfo = &(prP2pFsmInfo->rChnlReqInfo);

        cnmTimerStopTimer(prAdapter, &(prP2pFsmInfo->rP2pFsmTimeoutTimer));

        /* Restore the original channel info. */
        prP2pBssInfo->ucPrimaryChannel = prChnlReqInfo->ucOriChnlNum;
        prP2pBssInfo->eBand = prChnlReqInfo->eOriBand;
        prP2pBssInfo->eBssSCO = prChnlReqInfo->eOriChnlSco;

        if (eNextState != P2P_STATE_CHNL_ON_HAND) {
            /* Indicate channel return. */
            kalP2PIndicateChannelExpired(prAdapter->prGlueInfo, &prP2pFsmInfo->rChnlReqInfo);

            // Return Channel.
            p2pFuncReleaseCh(prAdapter, &(prP2pFsmInfo->rChnlReqInfo));
        }

    } while (FALSE);
    return;
} /* p2pStateAbort_CHNL_ON_HAND */
コード例 #3
0
VOID
p2pDevStateAbort_CHNL_ON_HAND(IN P_ADAPTER_T prAdapter,
			      IN P_BSS_INFO_T prP2pBssInfo,
			      IN P_P2P_DEV_FSM_INFO_T prP2pDevFsmInfo,
			      IN P_P2P_CHNL_REQ_INFO_T prChnlReqInfo)
{
	do {
		ASSERT_BREAK((prAdapter != NULL) || (prChnlReqInfo != NULL));

		cnmTimerStopTimer(prAdapter, &(prP2pDevFsmInfo->rP2pFsmTimeoutTimer));

		prP2pBssInfo->ucPrimaryChannel = prChnlReqInfo->ucOriChnlNum;
		prP2pBssInfo->eBand = prChnlReqInfo->eOriBand;
		prP2pBssInfo->eBssSCO = prChnlReqInfo->eOriChnlSco;

		kalP2PIndicateChannelExpired(prAdapter->prGlueInfo,
					     prChnlReqInfo->u8Cookie,
					     prChnlReqInfo->ucReqChnlNum,
					     prChnlReqInfo->eBand, prChnlReqInfo->eChnlSco);

		p2pFuncReleaseCh(prAdapter, prP2pDevFsmInfo->ucBssIndex, prChnlReqInfo);
	} while (FALSE);

	return;
}				/* p2pDevStateAbort_CHNL_ON_HAND */
コード例 #4
0
ファイル: aaa_fsm.c プロジェクト: Elnter/j608_kernel
/*----------------------------------------------------------------------------*/
VOID aaaFsmRunEventStart(IN P_MSG_HDR_T prMsgHdr)
{
	P_MSG_SAA_JOIN_REQ_T prJoinReqMsg;
	P_STA_RECORD_T prStaRec;
	P_AIS_BSS_INFO_T prAisBssInfo;


	ASSERT(prMsgHdr);

	prJoinReqMsg = (P_MSG_SAA_JOIN_REQ_T) prMsgHdr;
	prStaRec = prJoinReqMsg->prStaRec;

	ASSERT(prStaRec);

	DBGLOG(SAA, LOUD, ("EVENT-START: Trigger SAA FSM\n"));

	cnmMemFree(prMsgHdr);

	/* 4 <1> Validation of SAA Start Event */
	if (!IS_AP_STA(prStaRec->eStaType)) {

		DBGLOG(SAA, ERROR,
		       ("EVENT-START: STA Type - %d was not supported.\n", prStaRec->eStaType));

		/* Ignore the return value because don't care the prSwRfb */
		saaFsmSendEventJoinComplete(WLAN_STATUS_FAILURE, prStaRec, NULL);

		return;
	}
	/* 4 <2> The previous JOIN process is not completed ? */
	if (prStaRec->eAuthAssocState != AA_STATE_IDLE) {
		DBGLOG(SAA, ERROR, ("EVENT-START: Reentry of SAA Module.\n"));
		prStaRec->eAuthAssocState = AA_STATE_IDLE;
	}
	/* 4 <3> Reset Status Code and Time */
	/* Update Station Record - Status/Reason Code */
	prStaRec->u2StatusCode = STATUS_CODE_SUCCESSFUL;

	/* Update the record join time. */
	GET_CURRENT_SYSTIME(&prStaRec->rLastJoinTime);

	prStaRec->ucTxAuthAssocRetryCount = 0;

	if (prStaRec->prChallengeText) {
		cnmMemFree(prStaRec->prChallengeText);
		prStaRec->prChallengeText = (P_IE_CHALLENGE_TEXT_T) NULL;
	}

	cnmTimerStopTimer(&prStaRec->rTxReqDoneOrRxRespTimer);

	prStaRec->ucStaState = STA_STATE_1;

	/* Trigger SAA MODULE */
	saaFsmSteps(prStaRec, SAA_STATE_SEND_AUTH1, (P_SW_RFB_T) NULL);

	return;
}				/* end of saaFsmRunEventStart() */
コード例 #5
0
ファイル: sec_fsm.c プロジェクト: John677/Kernal_k3note
/*----------------------------------------------------------------------------*/
VOID				/* whsu:Todo: */
secFsmUnInit(IN P_ADAPTER_T prAdapter, IN P_STA_RECORD_T prSta)
{
	P_SEC_INFO_T prSecInfo;

	ASSERT(prSta);

	prSecInfo = &prSta->rSecInfo;

	prSecInfo->fg2nd1xSend = FALSE;
	prSecInfo->fgKeyStored = FALSE;

	/* nicPrivacyRemoveWlanTable(prSta->ucWTEntry); */

	if (IS_STA_IN_AIS(prSta)) {
		cnmTimerStopTimer(prAdapter, &prAdapter->rWifiVar.rAisSpecificBssInfo.rRsnaEAPoLReportTimeoutTimer);
		cnmTimerStopTimer(prAdapter, &prAdapter->rWifiVar.rAisSpecificBssInfo.rRsnaBlockTrafficTimer);
	}

}
コード例 #6
0
ファイル: p2p_state.c プロジェクト: Scorpio92/mediatek
/*----------------------------------------------------------------------------*/
VOID
p2pStateAbort_GC_JOIN (
    IN P_ADAPTER_T prAdapter,
    IN P_P2P_FSM_INFO_T prP2pFsmInfo,
    IN P_P2P_JOIN_INFO_T prJoinInfo,
    IN ENUM_P2P_STATE_T eNextState
    )
{
    P_MSG_JOIN_ABORT_T prJoinAbortMsg = (P_MSG_JOIN_ABORT_T)NULL;


    do {
        ASSERT_BREAK((prAdapter != NULL) && (prP2pFsmInfo != NULL) && (prJoinInfo != NULL));

        if (prJoinInfo->fgIsJoinComplete == FALSE) {

            prJoinAbortMsg = (P_MSG_JOIN_ABORT_T)cnmMemAlloc(prAdapter, RAM_TYPE_MSG, sizeof(MSG_JOIN_ABORT_T));
            if (!prJoinAbortMsg) {
                DBGLOG(P2P, TRACE, ("Fail to allocate join abort message buffer\n"));
                ASSERT(FALSE);
                return;
            }

            prJoinAbortMsg->rMsgHdr.eMsgId = MID_P2P_SAA_FSM_ABORT;
            prJoinAbortMsg->ucSeqNum = prJoinInfo->ucSeqNumOfReqMsg;
            prJoinAbortMsg->prStaRec = prJoinInfo->prTargetStaRec;

            mboxSendMsg(prAdapter,
                        MBOX_ID_0,
                        (P_MSG_HDR_T)prJoinAbortMsg,
                        MSG_SEND_METHOD_BUF);

        }

        /* Stop Join Timer. */
        cnmTimerStopTimer(prAdapter, &(prP2pFsmInfo->rP2pFsmTimeoutTimer));

        /* Release channel requested. */
        p2pFuncReleaseCh(prAdapter, &(prP2pFsmInfo->rChnlReqInfo));

    } while (FALSE);

    return;

} /* p2pStateAbort_GC_JOIN */