Пример #1
0
VOID
p2pStateAbort_AP_CHANNEL_DETECT(IN P_ADAPTER_T prAdapter,
				IN P_P2P_FSM_INFO_T prP2pFsmInfo,
				IN P_P2P_SPECIFIC_BSS_INFO_T
				prP2pSpecificBssInfo,
				IN ENUM_P2P_STATE_T eNextState)
{
	P_P2P_CHNL_REQ_INFO_T prChnlReqInfo = (P_P2P_CHNL_REQ_INFO_T) NULL;
	P_P2P_CONNECTION_SETTINGS_T prP2pConnSettings =
	    (P_P2P_CONNECTION_SETTINGS_T) NULL;

	do {
		if (eNextState == P2P_STATE_REQING_CHANNEL) {
			UINT_8 ucPreferedChnl = 0;
			ENUM_BAND_T eBand = BAND_NULL;
			ENUM_CHNL_EXT_T eSco = CHNL_EXT_SCN;

			prChnlReqInfo = &(prP2pFsmInfo->rChnlReqInfo);

/* Determine the channel for AP. */
			if (cnmPreferredChannel(prAdapter,
						&eBand,
						&ucPreferedChnl,
						&eSco) == FALSE) {
				prP2pConnSettings =
				    prAdapter->rWifiVar.prP2PConnSettings;

				if ((ucPreferedChnl =
				     prP2pConnSettings->ucOperatingChnl)
				    == 0) {
					if (scnQuerySparseChannel(prAdapter,
								  &eBand,
								  &ucPreferedChnl)
					    == FALSE) {
/* What to do? */
						ASSERT(FALSE);
/* TODO: Pick up a valid channel from channel list. */
						ucPreferedChnl = 1;
						eBand = BAND_2G4;
					}
				}
			}

			prChnlReqInfo->eChannelReqType =
			    CHANNEL_REQ_TYPE_GO_START_BSS;
			prChnlReqInfo->ucReqChnlNum =
			    prP2pSpecificBssInfo->ucPreferredChannel =
			    ucPreferedChnl;
			prChnlReqInfo->eBand = prP2pSpecificBssInfo->eRfBand =
			    eBand;
			prChnlReqInfo->eChnlSco =
			    prP2pSpecificBssInfo->eRfSco = eSco;
		} else {
			p2pFuncCancelScan(prAdapter,
					  &(prP2pFsmInfo->rScanReqInfo));
		}
	} while (FALSE);

	return;
}				/* p2pStateAbort_AP_CHANNEL_DETECT */
Пример #2
0
VOID p2pStateAbort_SCAN(IN P_ADAPTER_T prAdapter, IN P_P2P_FSM_INFO_T prP2pFsmInfo, IN ENUM_P2P_STATE_T eNextState)
{
	do {
		ASSERT_BREAK(prAdapter != NULL);

		/* 1. Scan cancel. (Make sure the scan request is invalid. */
		p2pFuncCancelScan(prAdapter, &(prP2pFsmInfo->rScanReqInfo));

		/* Scan done indication. */
		kalP2PIndicateScanDone(prAdapter->prGlueInfo, prP2pFsmInfo->rScanReqInfo.fgIsAbort);
	} while (FALSE);

	return;
}				/* p2pStateAbort_SCAN */
Пример #3
0
VOID p2pDevStateAbort_SCAN(IN P_ADAPTER_T prAdapter, IN P_P2P_DEV_FSM_INFO_T prP2pDevFsmInfo)
{
	P_P2P_SCAN_REQ_INFO_T prScanInfo = (P_P2P_SCAN_REQ_INFO_T) NULL;

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

		prScanInfo = &(prP2pDevFsmInfo->rScanReqInfo);

		p2pFuncCancelScan(prAdapter, prP2pDevFsmInfo->ucBssIndex, prScanInfo);

		kalP2PIndicateScanDone(prAdapter->prGlueInfo, 0xFF, prScanInfo->fgIsAbort);
	} while (FALSE);

	return;
}				/* p2pDevStateAbort_CHNL_ON_HAND */