您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ ATE_ON函数代码示例

51自学网 2021-06-01 19:38:19
  C++
这篇教程C++ ATE_ON函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中ATE_ON函数的典型用法代码示例。如果您正苦于以下问题:C++ ATE_ON函数的具体用法?C++ ATE_ON怎么用?C++ ATE_ON使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了ATE_ON函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: RTUSBKickBulkOut

/*	========================================================================	Routine Description:	Arguments:	Return Value:	Note:	========================================================================*/VOID	RTUSBKickBulkOut(	IN	PRTMP_ADAPTER pAd){	/* BulkIn Reset will reset whole USB PHY. So we need to make sure fRTMP_ADAPTER_BULKIN_RESET not flaged.*/	if (!RTMP_TEST_FLAG(pAd ,fRTMP_ADAPTER_NEED_STOP_TX)#ifdef RALINK_ATE		&& !(ATE_ON(pAd))#endif /* RALINK_ATE */		)	{		/* 2. PS-Poll frame is next*/		if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_PSPOLL))		{			RTUSBBulkOutPsPoll(pAd);		}		/* 5. Mlme frame is next*/		else if ((RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_MLME)) ||				 (pAd->MgmtRing.TxSwFreeIdx < MGMT_RING_SIZE))		{			RTUSBBulkOutMLMEPacket(pAd, pAd->MgmtRing.TxDmaIdx);		}		/* 6. Data frame normal is next [BE, BK, VI, VO]*/		RTUSBDataBulkOut(pAd, fRTUSB_BULK_OUT_DATA_NORMAL,   EDCA_AC0_PIPE);		RTUSBDataBulkOut(pAd, fRTUSB_BULK_OUT_DATA_NORMAL_2, EDCA_AC1_PIPE);		RTUSBDataBulkOut(pAd, fRTUSB_BULK_OUT_DATA_NORMAL_3, EDCA_AC2_PIPE);		RTUSBDataBulkOut(pAd, fRTUSB_BULK_OUT_DATA_NORMAL_4, EDCA_AC3_PIPE);		/* 7. Null frame is the last*/		if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_DATA_NULL))		{					{				RTUSBBulkOutNullFrame(pAd);			}		}		/* 8. No data avaliable*/		else		{		}	}#ifdef RALINK_ATE	else if((ATE_ON(pAd)) &&			!RTMP_TEST_FLAG(pAd , fRTMP_ADAPTER_NEED_STOP_TX))	{		if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_DATA_ATE))		{			ATE_RTUSBBulkOutDataPacket(pAd, EDCA_AC0_PIPE);		}	}#endif /* RALINK_ATE */}
开发者ID:mickeyreg,项目名称:driver,代码行数:70,


示例2: APAsicEvaluateRxAnt

/*    ========================================================================    Routine Description:        Periodic evaluate antenna link status            Arguments:        pAd         - Adapter pointer            Return Value:        None            ========================================================================*/VOID APAsicEvaluateRxAnt(	IN PRTMP_ADAPTER	pAd){	UCHAR	BBPR3 = 0;	ULONG	TxTotalCnt;#ifdef RALINK_ATE	if (ATE_ON(pAd))		return;#endif /* RALINK_ATE */#ifdef CARRIER_DETECTION_SUPPORT	if(pAd->CommonCfg.CarrierDetect.CD_State == CD_SILENCE)	return;#endif /* CARRIER_DETECTION_SUPPORT */			RTMP_BBP_IO_READ8_BY_REG_ID(pAd, BBP_R3, &BBPR3);	BBPR3 &= (~0x18);	if((pAd->Antenna.field.RxPath == 3) #ifdef DOT11_N_SUPPORT#ifdef GREENAP_SUPPORT		&& (pAd->ApCfg.bGreenAPActive == FALSE)#endif /* GREENAP_SUPPORT */#endif /* DOT11_N_SUPPORT */		)	{		BBPR3 |= (0x10);	}	else if((pAd->Antenna.field.RxPath == 2) #ifdef DOT11_N_SUPPORT#ifdef GREENAP_SUPPORT		&& (pAd->ApCfg.bGreenAPActive == FALSE)#endif /* GREENAP_SUPPORT */#endif /* DOT11_N_SUPPORT */		)	{		BBPR3 |= (0x8);	}	else if(pAd->Antenna.field.RxPath == 1)	{		BBPR3 |= (0x0);	}	RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R3, BBPR3);	TxTotalCnt = pAd->RalinkCounters.OneSecTxNoRetryOkCount + 					pAd->RalinkCounters.OneSecTxRetryOkCount + 					pAd->RalinkCounters.OneSecTxFailCount;	if (TxTotalCnt > 50)	{		RTMPSetTimer(&pAd->Mlme.RxAntEvalTimer, 20);		pAd->Mlme.bLowThroughput = FALSE;	}	else	{		RTMPSetTimer(&pAd->Mlme.RxAntEvalTimer, 300);		pAd->Mlme.bLowThroughput = TRUE;	}}
开发者ID:houzhenggang,项目名称:MT,代码行数:73,


示例3: ORIBATimerTimeout

/*	==========================================================================	Description:		Retry sending ADDBA Reqest.			IRQL = DISPATCH_LEVEL		Parametrs:	p8023Header: if this is already 802.3 format, p8023Header is NULL		Return	: TRUE if put into rx reordering buffer, shouldn't indicaterxhere.				FALSE , then continue indicaterx at this moment.	========================================================================== */VOID ORIBATimerTimeout(RTMP_ADAPTER *pAd) {	//MAC_TABLE_ENTRY *pEntry;	INT i, total;	//UCHAR TID;#ifdef CONFIG_ATE	if (ATE_ON(pAd))		return;#endif /* CONFIG_ATE */	total = pAd->MacTab.Size * NUM_OF_TID;	for (i = 1; ((i <MAX_LEN_OF_BA_ORI_TABLE) && (total > 0)) ; i++)	{		if  (pAd->BATable.BAOriEntry[i].ORI_BA_Status == Originator_Done)		{			//pEntry = &pAd->MacTab.Content[pAd->BATable.BAOriEntry[i].Wcid];			//TID = pAd->BATable.BAOriEntry[i].TID;			ASSERT(pAd->BATable.BAOriEntry[i].Wcid < MAX_LEN_OF_MAC_TABLE);		}		total --;	}}
开发者ID:jing-git,项目名称:rt-n56u-1,代码行数:39,


示例4: MBSS_VirtualIF_PacketSend

/*========================================================================Routine Description:    Send a packet to WLAN.Arguments:	pPktSrc			points to our adapter	pDev			which WLAN network interfaceReturn Value:    0: transmit successfully    otherwise: transmit failNote:========================================================================*/INT MBSS_VirtualIF_PacketSend(	IN PNDIS_PACKET		pPktSrc, 	IN PNET_DEV		pDev){	RTMP_ADAPTER     *pAd;	MULTISSID_STRUCT *pMbss;	PNDIS_PACKET     pPkt = (PNDIS_PACKET)pPktSrc;	INT              IdBss;	pAd = RTMP_OS_NETDEV_GET_PRIV(pDev);	ASSERT(pAd);#ifdef RALINK_ATE	if (ATE_ON(pAd))	{		RELEASE_NDIS_PACKET(pAd, pPkt, NDIS_STATUS_FAILURE);		return 0;	}#endif // RALINK_ATE //	if ((RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) ||		(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF))          ||		(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS)))	{		/* wlan is scanning/disabled/reset */		RELEASE_NDIS_PACKET(pAd, pPkt, NDIS_STATUS_FAILURE);		return 0;	}	if(!(RTMP_OS_NETDEV_STATE_RUNNING(pDev)))	{		/* the interface is down */		RELEASE_NDIS_PACKET(pAd, pPkt, NDIS_STATUS_FAILURE);		return 0;	}	/* 0 is main BSS, dont handle it here */	/* FIRST_MBSSID = 1 */	pMbss = pAd->ApCfg.MBSSID;	for(IdBss=FIRST_MBSSID; IdBss<pAd->ApCfg.BssidNum; IdBss++)	{		/* find the device in our MBSS list */		if (pMbss[IdBss].MSSIDDev == pDev)		{			NdisZeroMemory((PUCHAR)&(RTPKT_TO_OSPKT(pPktSrc))->cb[CB_OFF], 15);			RTMP_SET_PACKET_NET_DEVICE_MBSSID(pPktSrc, IdBss);//			SET_OS_PKT_NETDEV(pPktSrc, pDev); /* MBSS used original interface for TX */						/* transmit the packet */			return rt28xx_packet_xmit(pPktSrc);		}	}	/* can not find the BSS so discard the packet */	RELEASE_NDIS_PACKET(pAd, pPkt, NDIS_STATUS_FAILURE);	return 0;} /* End of MBSS_VirtualIF_PacketSend */
开发者ID:schidler,项目名称:flyzjhz-rt-n56u,代码行数:75,


示例5: rt28xx_packet_xmit

/*========================================================================Routine Description:    The entry point for Linux kernel sent packet to our driver.Arguments:    sk_buff *skb		the pointer refer to a sk_buffer.Return Value:    0					Note:	This function is the entry point of Tx Path for Os delivery packet to 	our driver. You only can put OS-depened & STA/AP common handle procedures 	in here.========================================================================*/int rt28xx_packet_xmit(struct sk_buff *skb){	struct net_device *net_dev = skb->dev;	PRTMP_ADAPTER pAd = NULL;	int status = 0;	PNDIS_PACKET pPacket = (PNDIS_PACKET) skb;	GET_PAD_FROM_NET_DEV(pAd, net_dev);		/* RT2870STA does this in RTMPSendPackets() */#ifdef RALINK_ATE	if (ATE_ON(pAd))	{		RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_RESOURCES);		return 0;	}#endif // RALINK_ATE //        // EapolStart size is 18	if (skb->len < 14)	{		//printk("bad packet size: %d/n", pkt->len);		hex_dump("bad packet", skb->data, skb->len);		RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE);		goto done;	}#if !defined(CONFIG_RA_NAT_NONE)	// ASUS EXT        /* add tx hook point*/        if(ra_sw_nat_hook_tx!= NULL)        {            unsigned long flags;            ra_sw_nat_hook_tx(pPacket);        }#endif	RTMP_SET_PACKET_5VT(pPacket, 0);//	MiniportMMRequest(pAd, pkt->data, pkt->len);#ifdef CONFIG_5VT_ENHANCE    if (*(int*)(skb->cb) == BRIDGE_TAG) {		RTMP_SET_PACKET_5VT(pPacket, 1);    }#endif#ifdef CONFIG_AP_SUPPORT	IF_DEV_CONFIG_OPMODE_ON_AP(pAd)		APSendPackets((NDIS_HANDLE)pAd, (PPNDIS_PACKET) &pPacket, 1);#endif // CONFIG_AP_SUPPORT //	status = 0;done:			   	return status;}
开发者ID:zyubin,项目名称:asus-rt-n56u-firmware,代码行数:75,


示例6: APAsicEvaluateRxAnt

/*    ========================================================================    Routine Description:        Periodic evaluate antenna link status            Arguments:        pAd         - Adapter pointer            Return Value:        None            ========================================================================*/VOID APAsicEvaluateRxAnt(	IN PRTMP_ADAPTER	pAd){	ULONG	TxTotalCnt;#ifdef RALINK_ATE	if (ATE_ON(pAd))		return;#endif /* RALINK_ATE */#ifdef CARRIER_DETECTION_SUPPORT	if(pAd->CommonCfg.CarrierDetect.CD_State == CD_SILENCE)	return;#endif /* CARRIER_DETECTION_SUPPORT */#ifdef RT8592	// TODO: shiang-6590, for 8592, this EvaaluateRxAnt still need??	if (IS_RT8592(pAd))		return;#endif /* RT8592 */#ifdef RT65xx	if (IS_RT65XX(pAd))		return;#endif /* RT76x0 */#ifdef TXBF_SUPPORT	/* TODO: we didn't do RxAnt evaluate for 3x3 chips */	if (IS_RT3883(pAd) || IS_RT2883(pAd))		return;#endif /* TXBF_SUPPORT */	#ifdef DOT11_N_SUPPORT#ifdef GREENAP_SUPPORT	if (pAd->ApCfg.bGreenAPActive == TRUE)		bbp_set_rxpath(pAd, 1);	else#endif /* GREENAP_SUPPORT */#endif /* DOT11_N_SUPPORT */		bbp_set_rxpath(pAd, pAd->Antenna.field.RxPath);	TxTotalCnt = pAd->RalinkCounters.OneSecTxNoRetryOkCount + 					pAd->RalinkCounters.OneSecTxRetryOkCount + 					pAd->RalinkCounters.OneSecTxFailCount;	if (TxTotalCnt > 50)	{		RTMPSetTimer(&pAd->Mlme.RxAntEvalTimer, 20);		pAd->Mlme.bLowThroughput = FALSE;	}	else	{		RTMPSetTimer(&pAd->Mlme.RxAntEvalTimer, 300);		pAd->Mlme.bLowThroughput = TRUE;	}}
开发者ID:jing-git,项目名称:rt-n56u-1,代码行数:70,


示例7: MBSS_PacketSend

/*========================================================================Routine Description:    Send a packet to WLAN.Arguments:	pPktSrc			points to our adapter	pDev			which WLAN network interfaceReturn Value:    0: transmit successfully    otherwise: transmit failNote:========================================================================*/int MBSS_PacketSend(	IN	PNDIS_PACKET				pPktSrc, 	IN	PNET_DEV					pDev,	IN	RTMP_NET_PACKET_TRANSMIT	Func){    RTMP_ADAPTER     *pAd;    MULTISSID_STRUCT *pMbss;    PNDIS_PACKET     pPkt = (PNDIS_PACKET)pPktSrc;    int              IdBss;	pAd = RTMP_OS_NETDEV_GET_PRIV(pDev);	ASSERT(pAd);#ifdef RALINK_ATE    if (ATE_ON(pAd))    {        RELEASE_NDIS_PACKET(pAd, pPkt, NDIS_STATUS_FAILURE);        return 0;    }#endif /* RALINK_ATE */	if ((RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) ||		(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF))          ||		(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS)))	{		/* wlan is scanning/disabled/reset */		RELEASE_NDIS_PACKET(pAd, pPkt, NDIS_STATUS_FAILURE);		return 0;	}    /* 0 is main BSS, dont handle it here */    /* FIRST_MBSSID = 1 */    pMbss = pAd->ApCfg.MBSSID;    for(IdBss=FIRST_MBSSID; IdBss<pAd->ApCfg.BssidNum; IdBss++)    {	/* find the device in our MBSS list */	if (pMbss[IdBss].MSSIDDev == pDev)	{/*			NdisZeroMemory((PUCHAR)&(RTPKT_TO_OSPKT(pPktSrc))->cb[CB_OFF], 15); */			NdisZeroMemory((PUCHAR)(GET_OS_PKT_CB(pPktSrc) + CB_OFF), 15);            RTMP_SET_PACKET_NET_DEVICE_MBSSID(pPktSrc, IdBss);/*			SET_OS_PKT_NETDEV(pPktSrc, pDev); */		             /* transmit the packet */            return Func(pPktSrc);		}	}    /* can not find the BSS so discard the packet */	RELEASE_NDIS_PACKET(pAd, pPkt, NDIS_STATUS_FAILURE);    return 0;}
开发者ID:derekcentrico,项目名称:m6.kernel.3.x,代码行数:73,


示例8: BAOriSessionSetupTimeout

/*	==========================================================================	Description:		Retry sending ADDBA Reqest.			IRQL = DISPATCH_LEVEL		Parametrs:	p8023Header: if this is already 802.3 format, p8023Header is NULL		Return	: TRUE if put into rx reordering buffer, shouldn't indicaterxhere.				FALSE , then continue indicaterx at this moment.	========================================================================== */VOID BAOriSessionSetupTimeout(    IN PVOID SystemSpecific1,     IN PVOID FunctionContext,     IN PVOID SystemSpecific2,     IN PVOID SystemSpecific3) {	BA_ORI_ENTRY    *pBAEntry = (BA_ORI_ENTRY *)FunctionContext;	MAC_TABLE_ENTRY *pEntry;	PRTMP_ADAPTER   pAd;		if (pBAEntry == NULL)		return;	pAd = pBAEntry->pAdapter;#ifdef CONFIG_STA_SUPPORT	IF_DEV_CONFIG_OPMODE_ON_STA(pAd)	{		// Do nothing if monitor mode is on		if (MONITOR_ON(pAd))			return;	}#endif // CONFIG_STA_SUPPORT //    #ifdef RALINK_ATE	// Nothing to do in ATE mode. 	if (ATE_ON(pAd))		return;#endif // RALINK_ATE //	pEntry = &pAd->MacTab.Content[pBAEntry->Wcid];	if ((pBAEntry->ORI_BA_Status == Originator_WaitRes) && (pBAEntry->Token < ORI_SESSION_MAX_RETRY))	{		MLME_ADDBA_REQ_STRUCT    AddbaReq;  			NdisZeroMemory(&AddbaReq, sizeof(AddbaReq));		COPY_MAC_ADDR(AddbaReq.pAddr, pEntry->Addr);		AddbaReq.Wcid = (UCHAR)(pEntry->Aid);		AddbaReq.TID = pBAEntry->TID;		AddbaReq.BaBufSize = pAd->CommonCfg.BACapability.field.RxBAWinLimit;		AddbaReq.TimeOutValue = 0;		AddbaReq.Token = pBAEntry->Token;       		MlmeEnqueue(pAd, ACTION_STATE_MACHINE, MT2_MLME_ADD_BA_CATE, sizeof(MLME_ADDBA_REQ_STRUCT), (PVOID)&AddbaReq);		RTMP_MLME_HANDLER(pAd);		DBGPRINT(RT_DEBUG_TRACE,("BA Ori Session Timeout(%d) : Send ADD BA again/n", pBAEntry->Token));		pBAEntry->Token++;		RTMPSetTimer(&pBAEntry->ORIBATimer, ORI_BA_SESSION_TIMEOUT);	}	else	{		BATableFreeOriEntry(pAd, pEntry->BAOriWcidArray[pBAEntry->TID]);	}}
开发者ID:acassis,项目名称:emlinux-ssd1935,代码行数:69,


示例9: RTUSBBulkOutDataPacketComplete

USBHST_STATUS RTUSBBulkOutDataPacketComplete(URBCompleteStatus Status, purbb_t pURB, pregs *pt_regs){	PHT_TX_CONTEXT	pHTTXContext;	PRTMP_ADAPTER	pAd;	POS_COOKIE 		pObj;	UCHAR			BulkOutPipeId;		pHTTXContext	= (PHT_TX_CONTEXT)RTMP_OS_USB_CONTEXT_GET(pURB);	pAd 			= pHTTXContext->pAd;	pObj 			= (POS_COOKIE) pAd->OS_Cookie;	/* Store BulkOut PipeId*/	BulkOutPipeId	= pHTTXContext->BulkOutPipeId;	pAd->BulkOutDataOneSecCount++;	switch (BulkOutPipeId)	{		case EDCA_AC0_PIPE:#ifdef RALINK_ATE				if (!ATE_ON(pAd))				{#endif /* RALINK_ATE */					RTMP_NET_TASK_DATA_ASSIGN(&pObj->ac0_dma_done_task, (unsigned long)pURB);					RTMP_OS_TASKLET_SCHE(&pObj->ac0_dma_done_task);#ifdef RALINK_ATE				}				else				{					RTMP_NET_TASK_DATA_ASSIGN(&pObj->ate_ac0_dma_done_task, (unsigned long)pURB);					RTMP_OS_TASKLET_SCHE(&pObj->ate_ac0_dma_done_task);				}#endif /* RALINK_ATE */								break;		case EDCA_AC1_PIPE:				RTMP_NET_TASK_DATA_ASSIGN(&pObj->ac1_dma_done_task, (unsigned long)pURB);				RTMP_OS_TASKLET_SCHE(&pObj->ac1_dma_done_task);				break;		case EDCA_AC2_PIPE:				RTMP_NET_TASK_DATA_ASSIGN(&pObj->ac2_dma_done_task, (unsigned long)pURB);				RTMP_OS_TASKLET_SCHE(&pObj->ac2_dma_done_task);				break;		case EDCA_AC3_PIPE:				RTMP_NET_TASK_DATA_ASSIGN(&pObj->ac3_dma_done_task, (unsigned long)pURB);				RTMP_OS_TASKLET_SCHE(&pObj->ac3_dma_done_task);				break;		case HCCA_PIPE:				RTMP_NET_TASK_DATA_ASSIGN(&pObj->hcca_dma_done_task, (unsigned long)pURB);				RTMP_OS_TASKLET_SCHE(&pObj->hcca_dma_done_task);				break;	}	}
开发者ID:avila-devlogic,项目名称:D33_KK_Kernel,代码行数:55,


示例10: APAsicRxAntEvalTimeout

/*    ========================================================================    Routine Description:        After evaluation, check antenna link status            Arguments:        pAd         - Adapter pointer            Return Value:        None            ========================================================================*/VOID APAsicRxAntEvalTimeout(RTMP_ADAPTER *pAd){	CHAR rssi0, rssi1, rssi2;#ifdef RALINK_ATE	if (ATE_ON(pAd))		return;#endif /* RALINK_ATE */	/* if the traffic is low, use average rssi as the criteria */	if (pAd->Mlme.bLowThroughput == TRUE)	{		rssi0 = pAd->ApCfg.RssiSample.LastRssi0;		rssi1 = pAd->ApCfg.RssiSample.LastRssi1;		rssi2 = pAd->ApCfg.RssiSample.LastRssi2;	}	else	{		rssi0 = pAd->ApCfg.RssiSample.AvgRssi0;		rssi1 = pAd->ApCfg.RssiSample.AvgRssi1;		rssi2 = pAd->ApCfg.RssiSample.AvgRssi2;	}#ifdef DOT11N_SS3_SUPPORT	if(pAd->Antenna.field.RxPath == 3)	{		CHAR larger = -127;		larger = max(rssi0, rssi1);		if (pAd->CommonCfg.RxStream >= 3)			pAd->Mlme.RealRxPath = 3;		else		{		if (larger > (rssi2 + 20))			pAd->Mlme.RealRxPath = 2;		else			pAd->Mlme.RealRxPath = 3;		}	}#endif /* DOT11N_SS3_SUPPORT */	/* Disable the below to fix 1T/2R issue. It's suggested by Rory at 2007/7/11. */#ifdef DOT11_N_SUPPORT#ifdef GREENAP_SUPPORT	if (pAd->ApCfg.bGreenAPActive == TRUE)		bbp_set_rxpath(pAd, 1);	else#endif /* GREENAP_SUPPORT */#endif /* DOT11_N_SUPPORT */		bbp_set_rxpath(pAd, pAd->Mlme.RealRxPath);	}
开发者ID:jing-git,项目名称:rt-n56u-1,代码行数:67,


示例11: WDS_PacketSend

int WDS_PacketSend(	IN	PNDIS_PACKET				pSkb, 	IN	PNET_DEV					dev,	IN	RTMP_NET_PACKET_TRANSMIT	Func){	UCHAR i;	RTMP_ADAPTER *pAd;	PNDIS_PACKET pPacket = (PNDIS_PACKET) pSkb;	pAd = (PRTMP_ADAPTER) RTMP_OS_NETDEV_GET_PRIV(dev);#ifdef RALINK_ATE	if (ATE_ON(pAd))	{		RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE);		return 0;	}#endif /* RALINK_ATE */	if ((RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) ||		(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF))          ||		(RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS)))	{		RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE);		return 0;	}		if (!(RTMP_OS_NETDEV_STATE_RUNNING(dev)))	{		RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE);		return 0;	}	for (i = 0; i < MAX_WDS_ENTRY; i++)	{		if (ValidWdsEntry(pAd, i) && (pAd->WdsTab.WdsEntry[i].dev == dev))		{			RTMP_SET_PACKET_NET_DEVICE_WDS(pSkb, i);			SET_OS_PKT_NETDEV(pSkb, pAd->net_dev);			return Func(pSkb);		}	}		RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE);	return 0;}
开发者ID:23171580,项目名称:ralink,代码行数:50,


示例12: RxSensitivityTuning

static VOID RxSensitivityTuning(RTMP_ADAPTER *pAd){	UCHAR R66 = 0x26 + pAd->hw_cfg.lan_gain;#ifdef CONFIG_ATE	if (ATE_ON(pAd))	{		ATE_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R66, R66);	}	else#endif /* CONFIG_ATE */	{		bbp_set_agc(pAd, R66, RX_CHAIN_ALL);	}	MTWF_LOG(DBG_CAT_ALL, DBG_SUBCAT_ALL, DBG_LVL_TRACE,("turn off R17 tuning, restore to 0x%02x/n", R66));}
开发者ID:AnyoeDove,项目名称:mtk-sources,代码行数:16,


示例13: RxSensitivityTuning

static VOID RxSensitivityTuning(RTMP_ADAPTER *pAd){	UCHAR R66 = 0x26 + GET_LNA_GAIN(pAd);#ifdef RALINK_ATE	if (ATE_ON(pAd))	{		ATE_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R66, R66);	}	else#endif /* RALINK_ATE */	{		rtmp_bbp_set_agc(pAd, R66, RX_CHAIN_ALL);	}	DBGPRINT(RT_DEBUG_TRACE,("turn off R17 tuning, restore to 0x%02x/n", R66));}
开发者ID:Audioniek,项目名称:Fortis-4G,代码行数:16,


示例14: APAsicRxAntEvalTimeout

/*    ========================================================================    Routine Description:        After evaluation, check antenna link status            Arguments:        pAd         - Adapter pointer            Return Value:        None            ========================================================================*/VOID APAsicRxAntEvalTimeout(RTMP_ADAPTER *pAd){	CHAR rssi[3], *target_rssi;#ifdef CONFIG_ATE	if (ATE_ON(pAd))		return;#endif /* CONFIG_ATE */	/* if the traffic is low, use average rssi as the criteria */	if (pAd->Mlme.bLowThroughput == TRUE)		target_rssi = &pAd->ApCfg.RssiSample.LastRssi[0];	else		target_rssi = &pAd->ApCfg.RssiSample.AvgRssi[0];	NdisMoveMemory(&rssi[0], target_rssi, 3);#ifdef DOT11N_SS3_SUPPORT	if(pAd->Antenna.field.RxPath == 3)	{		CHAR larger = -127;		larger = max(rssi[0], rssi[1]);		if (pAd->CommonCfg.RxStream >= 3)			pAd->Mlme.RealRxPath = 3;		else		{			if (larger > (rssi[2] + 20))				pAd->Mlme.RealRxPath = 2;			else				pAd->Mlme.RealRxPath = 3;		}	}#endif /* DOT11N_SS3_SUPPORT */	/* Disable the below to fix 1T/2R issue. It's suggested by Rory at 2007/7/11. */#ifdef DOT11_N_SUPPORT#ifdef GREENAP_SUPPORT	if (pAd->ApCfg.bGreenAPActive == TRUE)		bbp_set_rxpath(pAd, 1);	else#endif /* GREENAP_SUPPORT */#endif /* DOT11_N_SUPPORT */		bbp_set_rxpath(pAd, pAd->Mlme.RealRxPath);}
开发者ID:jing-git,项目名称:rt-n56u,代码行数:59,


示例15: APAsicEvaluateRxAnt

/*    ========================================================================    Routine Description:        Periodic evaluate antenna link status            Arguments:        pAd         - Adapter pointer            Return Value:        None            ========================================================================*/VOID APAsicEvaluateRxAnt(	IN PRTMP_ADAPTER	pAd){	ULONG	TxTotalCnt;#ifdef CONFIG_ATE	if (ATE_ON(pAd))		return;#endif /* CONFIG_ATE */#ifdef CARRIER_DETECTION_SUPPORT	if(pAd->CommonCfg.CarrierDetect.CD_State == CD_SILENCE)	return;#endif /* CARRIER_DETECTION_SUPPORT */	#ifdef DOT11_N_SUPPORT#ifdef GREENAP_SUPPORT	if (pAd->ApCfg.bGreenAPActive == TRUE)		bbp_set_rxpath(pAd, 1);	else#endif /* GREENAP_SUPPORT */#endif /* DOT11_N_SUPPORT */		bbp_set_rxpath(pAd, pAd->Antenna.field.RxPath);	TxTotalCnt = pAd->RalinkCounters.OneSecTxNoRetryOkCount + 					pAd->RalinkCounters.OneSecTxRetryOkCount + 					pAd->RalinkCounters.OneSecTxFailCount;	if (TxTotalCnt > 50)	{		RTMPSetTimer(&pAd->Mlme.RxAntEvalTimer, 20);		pAd->Mlme.bLowThroughput = FALSE;	}	else	{		RTMPSetTimer(&pAd->Mlme.RxAntEvalTimer, 300);		pAd->Mlme.bLowThroughput = TRUE;	}}
开发者ID:jing-git,项目名称:rt-n56u,代码行数:56,


示例16: RT35xx_RxSensitivityTuning

VOID RT35xx_RxSensitivityTuning(	IN PRTMP_ADAPTER		pAd){	UCHAR R66;	R66 = 0x26 + GET_LNA_GAIN(pAd);#ifdef RALINK_ATE	if (ATE_ON(pAd))	{		ATE_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R66, (0x26 + GET_LNA_GAIN(pAd)));	}	else#endif /* RALINK_ATE */#ifdef RT35xx	if (IS_RT3572(pAd))		AsicBBPWriteWithRxChain(pAd, BBP_R66, R66, RX_CHAIN_ALL);#endif /* RT35xx */	DBGPRINT(RT_DEBUG_TRACE,("turn off R17 tuning, restore to 0x%02x/n", R66));}
开发者ID:schidler,项目名称:flyzjhz-rt-n56u,代码行数:21,


示例17: APAsicRxAntEvalTimeout

/*    ========================================================================    Routine Description:        After evaluation, check antenna link status            Arguments:        pAd         - Adapter pointer            Return Value:        None            ========================================================================*/VOID APAsicRxAntEvalTimeout(	PRTMP_ADAPTER	pAd) {	UCHAR			BBPR3 = 0;	CHAR			larger = -127, rssi0, rssi1, rssi2;#ifdef RALINK_ATE	if (ATE_ON(pAd))		return;#endif /* RALINK_ATE */	/* if the traffic is low, use average rssi as the criteria */	if (pAd->Mlme.bLowThroughput == TRUE)	{		rssi0 = pAd->ApCfg.RssiSample.LastRssi0;		rssi1 = pAd->ApCfg.RssiSample.LastRssi1;		rssi2 = pAd->ApCfg.RssiSample.LastRssi2;	}	else	{		rssi0 = pAd->ApCfg.RssiSample.AvgRssi0;		rssi1 = pAd->ApCfg.RssiSample.AvgRssi1;		rssi2 = pAd->ApCfg.RssiSample.AvgRssi2;	}	if(pAd->Antenna.field.RxPath == 3)	{		larger = max(rssi0, rssi1);#ifdef DOT11N_SS3_SUPPORT		if (pAd->CommonCfg.RxStream >= 3)			pAd->Mlme.RealRxPath = 3;		else#endif /* DOT11N_SS3_SUPPORT */		{		if (larger > (rssi2 + 20))			pAd->Mlme.RealRxPath = 2;		else			pAd->Mlme.RealRxPath = 3;		}	}	/* Disable the below to fix 1T/2R issue. It's suggested by Rory at 2007/7/11. */	RTMP_BBP_IO_READ8_BY_REG_ID(pAd, BBP_R3, &BBPR3);	BBPR3 &= (~0x18);	if(pAd->Mlme.RealRxPath == 3 #ifdef DOT11_N_SUPPORT#ifdef GREENAP_SUPPORT		&& pAd->ApCfg.bGreenAPActive == FALSE#endif /* GREENAP_SUPPORT */#endif /* DOT11_N_SUPPORT */		)	{		BBPR3 |= (0x10);	}	else if(pAd->Mlme.RealRxPath == 2#ifdef DOT11_N_SUPPORT#ifdef GREENAP_SUPPORT		&& pAd->ApCfg.bGreenAPActive == FALSE#endif /* GREENAP_SUPPORT */#endif /* DOT11_N_SUPPORT */		)	{		BBPR3 |= (0x8);	}	else if(pAd->Mlme.RealRxPath == 1)	{		BBPR3 |= (0x0);	}	RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R3, BBPR3);	}
开发者ID:eckyecky,项目名称:rt-n56u,代码行数:84,


示例18: rt28xx_packet_xmit

/*========================================================================Routine Description:    The entry point for Linux kernel sent packet to our driver.Arguments:    sk_buff *skb		the pointer refer to a sk_buffer.Return Value:    0Note:	This function is the entry point of Tx Path for Os delivery packet to	our driver. You only can put OS-depened & STA/AP common handle procedures	in here.========================================================================*/int rt28xx_packet_xmit(struct sk_buff *skb){	struct net_device *net_dev = skb->dev;	PRTMP_ADAPTER pAd = RTMP_OS_NETDEV_GET_PRIV(net_dev);	int status = 0;	PNDIS_PACKET pPacket = (PNDIS_PACKET) skb;	/* RT2870STA does this in RTMPSendPackets() */#ifdef RALINK_ATE	if (ATE_ON(pAd))	{		RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_RESOURCES);		return 0;	}#endif // RALINK_ATE //#ifdef CONFIG_STA_SUPPORT	IF_DEV_CONFIG_OPMODE_ON_STA(pAd)	{		// Drop send request since we are in monitor mode		if (MONITOR_ON(pAd))		{			RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE);			goto done;		}	}#endif // CONFIG_STA_SUPPORT //        // EapolStart size is 18	if (skb->len < 14)	{		//printk("bad packet size: %d/n", pkt->len);		hex_dump("bad packet", skb->data, skb->len);		RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE);		goto done;	}	RTMP_SET_PACKET_5VT(pPacket, 0);//	MiniportMMRequest(pAd, pkt->data, pkt->len);#ifdef CONFIG_5VT_ENHANCE    if (*(int*)(skb->cb) == BRIDGE_TAG) {		RTMP_SET_PACKET_5VT(pPacket, 1);    }#endif#ifdef CONFIG_STA_SUPPORT	IF_DEV_CONFIG_OPMODE_ON_STA(pAd)	{		STASendPackets((NDIS_HANDLE)pAd, (PPNDIS_PACKET) &pPacket, 1);	}#endif // CONFIG_STA_SUPPORT //	status = 0;done:	return status;}
开发者ID:mikuhatsune001,项目名称:linux2.6.32,代码行数:80,


示例19: RTMPSetLEDStatus

/*	========================================================================		Routine Description:		Set LED Status	Arguments:		pAd						Pointer to our adapter		Status					LED Status	Return Value:		None	IRQL = PASSIVE_LEVEL	IRQL = DISPATCH_LEVEL		Note:		========================================================================*/VOID RTMPSetLEDStatus(	IN PRTMP_ADAPTER 	pAd, 	IN UCHAR			Status){	/*ULONG			data; */	UCHAR			LinkStatus = 0;	UCHAR			LedMode;	UCHAR			MCUCmd = 0;	BOOLEAN 		bIgnored = FALSE;#ifdef WSC_INCLUDED#ifdef WSC_LED_SUPPORT	PWSC_CTRL		pWscControl = NULL;#ifdef CONFIG_AP_SUPPORT	pWscControl = &pAd->ApCfg.MBSSID[MAIN_MBSSID].WscControl;#endif /* CONFIG_AP_SUPPORT */#ifdef CONFIG_STA_SUPPORT	pWscControl = &pAd->StaCfg.WscControl;#endif /* CONFIG_STA_SUPPORT */#endif /* WSC_LED_SUPPORT */#endif /* WSC_INCLUDED */#ifdef RALINK_ATE	/*		In ATE mode of RT2860 AP/STA, we have erased 8051 firmware.		So LED mode is not supported when ATE is running.	*/	if (!IS_RT3572(pAd))	{		if (ATE_ON(pAd))			return;	}#endif /* RALINK_ATE */	LedMode = LED_MODE(pAd);	switch (Status)	{		case LED_LINK_DOWN:			LinkStatus = LINK_STATUS_LINK_DOWN;			pAd->LedCntl.LedIndicatorStrength = 0;			MCUCmd = MCU_SET_LED_MODE;			break;		case LED_LINK_UP:			if (pAd->CommonCfg.Channel > 14)				LinkStatus = LINK_STATUS_ABAND_LINK_UP;			else				LinkStatus = LINK_STATUS_GBAND_LINK_UP;			MCUCmd = MCU_SET_LED_MODE;			break;		case LED_RADIO_ON:			LinkStatus = LINK_STATUS_RADIO_ON;			MCUCmd = MCU_SET_LED_MODE;			break;		case LED_HALT: 			LedMode = 0; /* Driver sets MAC register and MAC controls LED */		case LED_RADIO_OFF:			LinkStatus = LINK_STATUS_RADIO_OFF;			MCUCmd = MCU_SET_LED_MODE;			break;		case LED_WPS:			LinkStatus = LINK_STATUS_WPS;			MCUCmd = MCU_SET_LED_MODE;			break;		case LED_ON_SITE_SURVEY:			LinkStatus = LINK_STATUS_ON_SITE_SURVEY;			MCUCmd = MCU_SET_LED_MODE;			break;		case LED_POWER_UP:			LinkStatus = LINK_STATUS_POWER_UP;			MCUCmd = MCU_SET_LED_MODE;			break;#ifdef RALINK_ATE#endif /* RALINK_ATE */#ifdef WSC_INCLUDED#ifdef WSC_LED_SUPPORT#ifdef CONFIG_WIFI_LED_SHARE		case LED_WPS_PRE_STAGE://.........这里部分代码省略.........
开发者ID:2812015651,项目名称:cuckoo,代码行数:101,


示例20: ScanNextChannel

/*	==========================================================================	Description:		Scan next channel	========================================================================== */VOID ScanNextChannel(RTMP_ADAPTER *pAd, UCHAR OpMode){	UCHAR ScanType = SCAN_TYPE_MAX;	UINT ScanTimeIn5gChannel = SHORT_CHANNEL_TIME;	BOOLEAN ScanPending = FALSE;	RALINK_TIMER_STRUCT *sc_timer = NULL;	UINT stay_time = 0;#ifdef CONFIG_ATE	/* Nothing to do in ATE mode. */	if (ATE_ON(pAd))		return;#endif /* CONFIG_ATE */#ifdef CONFIG_AP_SUPPORT	if (OpMode == OPMODE_AP)		ScanType = pAd->ScanCtrl.ScanType;#endif /* CONFIG_AP_SUPPORT */	if (ScanType == SCAN_TYPE_MAX) {		DBGPRINT(RT_DEBUG_ERROR, ("%s():Incorrect ScanType!/n", __FUNCTION__));		return;	}#ifdef RT_CFG80211_SUPPORT	/* Since the Channel List is from Upper layer */	if (CFG80211DRV_OpsScanRunning(pAd))		pAd->ScanCtrl.Channel = CFG80211DRV_OpsScanGetNextChannel(pAd);#endif /* RT_CFG80211_SUPPORT */	if ((pAd->ScanCtrl.Channel == 0) || ScanPending) 	{		scan_ch_restore(pAd, OpMode);	} 	else 	{		AsicSwitchChannel(pAd, pAd->ScanCtrl.Channel, TRUE);		AsicLockChannel(pAd, pAd->ScanCtrl.Channel);		/* Check if channel if passive scan under current regulatory domain */		if (CHAN_PropertyCheck(pAd, pAd->ScanCtrl.Channel, CHANNEL_PASSIVE_SCAN) == TRUE)			ScanType = SCAN_PASSIVE;#if defined(DPA_T) || defined(WIFI_REGION32_HIDDEN_SSID_SUPPORT)		/* Ch 12~14 is passive scan, No matter DFS and 80211H setting is y or n */		if ((pAd->ScanCtrl.Channel >= 12) && (pAd->ScanCtrl.Channel <= 14))			ScanType = SCAN_PASSIVE;#endif /* DPA_T */#ifdef CONFIG_AP_SUPPORT		if (OpMode == OPMODE_AP)			sc_timer = &pAd->ScanCtrl.APScanTimer;#endif /* CONFIG_AP_SUPPORT */		if (!sc_timer) {			DBGPRINT(RT_DEBUG_ERROR, ("%s():ScanTimer not assigned!/n", __FUNCTION__));			return;		}					/* We need to shorten active scan time in order for WZC connect issue */		/* Chnage the channel scan time for CISCO stuff based on its IAPP announcement */		if (ScanType == FAST_SCAN_ACTIVE)			stay_time = FAST_ACTIVE_SCAN_TIME;		else /* must be SCAN_PASSIVE or SCAN_ACTIVE*/		{#ifdef CONFIG_AP_SUPPORT			if ((OpMode == OPMODE_AP) && (pAd->ApCfg.bAutoChannelAtBootup))				stay_time = AUTO_CHANNEL_SEL_TIMEOUT;			else#endif /* CONFIG_AP_SUPPORT */			if (WMODE_CAP_2G(pAd->CommonCfg.PhyMode) &&				WMODE_CAP_5G(pAd->CommonCfg.PhyMode))			{				if (pAd->ScanCtrl.Channel > 14)					stay_time = ScanTimeIn5gChannel;				else					stay_time = MIN_CHANNEL_TIME;			}			else				stay_time = MAX_CHANNEL_TIME;		}#ifdef RT_CFG80211_SUPPORT	//CFG_TODO: for testing.	/* Since the Channel List is from Upper layer */	if (CFG80211DRV_OpsScanRunning(pAd) && 	    (pAd->cfg80211_ctrl.Cfg80211ChanListLen == 1))		stay_time = 500;#endif /* RT_CFG80211_SUPPORT */							//.........这里部分代码省略.........
开发者ID:23171580,项目名称:ralink,代码行数:101,


示例21: RTMPSendPackets

int	RTMPSendPackets(	IN	NDIS_HANDLE		MiniportAdapterContext,	IN	PPNDIS_PACKET	ppPacketArray,	IN	UINT			NumberOfPackets,	IN	UINT32			PktTotalLen,	IN	RTMP_NET_ETH_CONVERT_DEV_SEARCH	Func){	PRTMP_ADAPTER pAd = (PRTMP_ADAPTER)MiniportAdapterContext;	PNDIS_PACKET pPacket = ppPacketArray[0];	if (pPacket == NULL)		goto done;	/* RT2870STA does this in RTMPSendPackets() */#ifdef RALINK_ATE	if (ATE_ON(pAd))	{		RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_RESOURCES);		return 0;	}#endif /* RALINK_ATE */#ifdef CONFIG_STA_SUPPORT	IF_DEV_CONFIG_OPMODE_ON_STA(pAd)	{		/* Drop send request since we are in monitor mode */		if (MONITOR_ON(pAd))		{			RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE);			return 0;		}	}#endif /* CONFIG_STA_SUPPORT */        /* EapolStart size is 18 */	if (PktTotalLen < 14)	{		/*printk("bad packet size: %d/n", pkt->len); */		hex_dump("bad packet", GET_OS_PKT_DATAPTR(pPacket), PktTotalLen);		RELEASE_NDIS_PACKET(pAd, pPacket, NDIS_STATUS_FAILURE);		return 0;	}	RTMP_SET_PACKET_5VT(pPacket, 0);/*	MiniportMMRequest(pAd, pkt->data, pkt->len); */#ifdef CONFIG_5VT_ENHANCE    if (*(int*)(GET_OS_PKT_CB(pPacket)) == BRIDGE_TAG) {		RTMP_SET_PACKET_5VT(pPacket, 1);    }#endif#ifdef CONFIG_STA_SUPPORT	IF_DEV_CONFIG_OPMODE_ON_STA(pAd)	{		STASendPackets((NDIS_HANDLE)pAd, (PPNDIS_PACKET) &pPacket, 1);	}#endif /* CONFIG_STA_SUPPORT */done:	return 0;}
开发者ID:Sleuthhound,项目名称:RT28XX-RT539X-Linux-driver,代码行数:66,


示例22: ScanNextChannel

/*	==========================================================================	Description:		Scan next channel	========================================================================== */VOID ScanNextChannel(	IN PRTMP_ADAPTER pAd) {	HEADER_802_11   Hdr80211;	PUCHAR          pOutBuffer = NULL;	NDIS_STATUS     NStatus;	ULONG           FrameLen = 0;	UCHAR           SsidLen = 0, ScanType = pAd->MlmeAux.ScanType, BBPValue = 0;	UINT			ScanTimeIn5gChannel = SHORT_CHANNEL_TIME;	BOOLEAN			ScanPending = FALSE;#ifdef RALINK_ATE	// Nothing to do in ATE mode. 	if (ATE_ON(pAd))		return;#endif // RALINK_ATE //	if ((pAd->MlmeAux.Channel == 0) || ScanPending) 	{		if ((pAd->CommonCfg.BBPCurrentBW == BW_40)			)		{			AsicSwitchChannel(pAd, pAd->CommonCfg.CentralChannel, FALSE);			AsicLockChannel(pAd, pAd->CommonCfg.CentralChannel);			RTMP_BBP_IO_READ8_BY_REG_ID(pAd, BBP_R4, &BBPValue);			BBPValue &= (~0x18);			BBPValue |= 0x10;			RTMP_BBP_IO_WRITE8_BY_REG_ID(pAd, BBP_R4, BBPValue);			DBGPRINT(RT_DEBUG_TRACE, ("SYNC - End of SCAN, restore to 40MHz channel %d, Total BSS[%02d]/n",pAd->CommonCfg.CentralChannel, pAd->ScanTab.BssNr));		}		else		{			AsicSwitchChannel(pAd, pAd->CommonCfg.Channel, FALSE);			AsicLockChannel(pAd, pAd->CommonCfg.Channel);			DBGPRINT(RT_DEBUG_TRACE, ("SYNC - End of SCAN, restore to channel %d, Total BSS[%02d]/n",pAd->CommonCfg.Channel, pAd->ScanTab.BssNr));		}		#ifdef CONFIG_AP_SUPPORT		IF_DEV_CONFIG_OPMODE_ON_AP(pAd)		{			pAd->Mlme.ApSyncMachine.CurrState = AP_SYNC_IDLE;			RTMPResumeMsduTransmission(pAd);			// iwpriv set auto channel selection			// scanned all channels			if (pAd->ApCfg.bAutoChannelAtBootup==TRUE)			{			    pAd->CommonCfg.Channel = SelectBestChannel(pAd, pAd->ApCfg.AutoChannelAlg);				pAd->ApCfg.bAutoChannelAtBootup = FALSE;#ifdef DOT11_N_SUPPORT				N_ChannelCheck(pAd);#endif // DOT11_N_SUPPORT //				APStop(pAd);				APStartUp(pAd);			}			if (!((pAd->CommonCfg.Channel > 14) && (pAd->CommonCfg.bIEEE80211H == TRUE)))			{				AsicEnableBssSync(pAd);			}		}#endif // CONFIG_AP_SUPPORT //	} 	else 	{
开发者ID:schidler,项目名称:flyzjhz-rt-n56u,代码行数:75,


示例23: RTMPFreeTXDUponTxDmaDone

BOOLEAN  RTMPFreeTXDUponTxDmaDone(	IN PRTMP_ADAPTER	pAd,	IN UCHAR			QueIdx){	PRTMP_TX_RING pTxRing;	PTXD_STRUC	  pTxD;#ifdef	RT_BIG_ENDIAN    PTXD_STRUC      pDestTxD;#endif	PNDIS_PACKET  pPacket;	UCHAR	FREE = 0;	TXD_STRUC	TxD, *pOriTxD;	//ULONG		IrqFlags;	BOOLEAN			bReschedule = FALSE;	ASSERT(QueIdx < NUM_OF_TX_RING);	pTxRing = &pAd->TxRing[QueIdx];	RTMP_IO_READ32(pAd, TX_DTX_IDX0 + QueIdx * RINGREG_DIFF, &pTxRing->TxDmaIdx);	while (pTxRing->TxSwFreeIdx != pTxRing->TxDmaIdx)	{//		RTMP_IRQ_LOCK(&pAd->irq_lock, IrqFlags);#ifdef RALINK_ATE#ifdef RALINK_QA		PHEADER_802_11	pHeader80211;		if ((ATE_ON(pAd)) && (pAd->ate.bQATxStart == TRUE))		{			if (pAd->ate.QID == QueIdx)			{				pAd->ate.TxDoneCount++;				pAd->RalinkCounters.KickTxCount++;				/* always use QID_AC_BE and FIFO_EDCA */				ASSERT(pAd->ate.QID == 0);				pAd->ate.TxAc0++;				FREE++;#ifndef RT_BIG_ENDIAN				pTxD = (PTXD_STRUC) (pTxRing->Cell[pTxRing->TxSwFreeIdx].AllocVa);				pOriTxD = pTxD;		        NdisMoveMemory(&TxD, pTxD, sizeof(TXD_STRUC));				pTxD = &TxD;#else		        pDestTxD = (PTXD_STRUC) (pTxRing->Cell[pTxRing->TxSwFreeIdx].AllocVa);		        pOriTxD = pDestTxD ;		        TxD = *pDestTxD;		        pTxD = &TxD;		        RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);#endif				pTxD->DMADONE = 0;				pHeader80211 = pTxRing->Cell[pTxRing->TxSwFreeIdx].DmaBuf.AllocVa + sizeof(TXWI_STRUC);#ifdef RT_BIG_ENDIAN				RTMPFrameEndianChange(pAd, (PUCHAR)pHeader80211, DIR_READ, FALSE);#endif				pHeader80211->Sequence = ++pAd->ate.seq;#ifdef RT_BIG_ENDIAN				RTMPFrameEndianChange(pAd, (PUCHAR)pHeader80211, DIR_WRITE, FALSE);#endif				if  ((pAd->ate.bQATxStart == TRUE) && (pAd->ate.Mode & ATE_TXFRAME) && (pAd->ate.TxDoneCount < pAd->ate.TxCount))				{					pAd->RalinkCounters.TransmittedByteCount.QuadPart +=  (pTxD->SDLen1 + pTxD->SDLen0);					pAd->RalinkCounters.OneSecTransmittedByteCount += (pTxD->SDLen1 + pTxD->SDLen0);					pAd->RalinkCounters.OneSecDmaDoneCount[QueIdx] ++;					INC_RING_INDEX(pTxRing->TxSwFreeIdx, TX_RING_SIZE);					/* get TX_DTX_IDX again */					RTMP_IO_READ32(pAd, TX_DTX_IDX0 + QueIdx * RINGREG_DIFF ,  &pTxRing->TxDmaIdx);					goto kick_out;				}				else if ((pAd->ate.TxStatus == 1)/* or (pAd->ate.bQATxStart == TRUE) ??? */ && (pAd->ate.TxDoneCount == pAd->ate.TxCount))				{					DBGPRINT(RT_DEBUG_TRACE,("all Tx is done/n"));					// Tx status enters idle mode.					pAd->ate.TxStatus = 0;				}				else if (!(pAd->ate.Mode & ATE_TXFRAME))				{					/* not complete sending yet, but someone press the Stop TX botton */					DBGPRINT(RT_DEBUG_INFO,("not complete sending yet, but someone pressed the Stop TX bottom/n"));					DBGPRINT(RT_DEBUG_INFO,("pAd->ate.Mode = 0x%02x/n", pAd->ate.Mode));				}				else				{					DBGPRINT(RT_DEBUG_OFF,("pTxRing->TxSwFreeIdx = %d/n", pTxRing->TxSwFreeIdx));  				}#ifndef RT_BIG_ENDIAN	        	NdisMoveMemory(pOriTxD, pTxD, sizeof(TXD_STRUC));#else        		RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);        		*pDestTxD = TxD;#endif // RT_BIG_ENDIAN //				INC_RING_INDEX(pTxRing->TxSwFreeIdx, TX_RING_SIZE);				continue;//.........这里部分代码省略.........
开发者ID:qwerty1023,项目名称:wive-rtnl-firmware,代码行数:101,


示例24: RTMPSetLEDStatus

/*	========================================================================		Routine Description:		Set LED Status	Arguments:		pAd						Pointer to our adapter		Status					LED Status	Return Value:		None	IRQL = PASSIVE_LEVEL	IRQL = DISPATCH_LEVEL		Note:		========================================================================*/VOID RTMPSetLEDStatus(RTMP_ADAPTER *pAd, UCHAR Status){	/*ULONG			data; */	UCHAR			LinkStatus = 0;	UCHAR			LedMode;	UCHAR			MCUCmd = 0;	BOOLEAN 		bIgnored = FALSE;#ifdef MT7628	INT 				LED_CMD = -1;#endif /*MT7628*/#ifdef WSC_INCLUDED#ifdef WSC_LED_SUPPORT	PWSC_CTRL		pWscControl = NULL;#ifdef CONFIG_AP_SUPPORT	pWscControl = &pAd->ApCfg.MBSSID[MAIN_MBSSID].WscControl;#endif /* CONFIG_AP_SUPPORT */#ifdef CONFIG_STA_SUPPORT	pWscControl = &pAd->StaCfg.WscControl;#endif /* CONFIG_STA_SUPPORT */#endif /* WSC_LED_SUPPORT */#endif /* WSC_INCLUDED */#ifdef CONFIG_ATE	/*		In ATE mode of RT2860 AP/STA, we have erased 8051 firmware.		So LED mode is not supported when ATE is running.	*/	if (!IS_RT3572(pAd))	{		if (ATE_ON(pAd))			return;	}#endif /* CONFIG_ATE */	LedMode = 1;//LED_MODE(pAd);#ifdef MT7628	if (IS_MT7603(pAd) || IS_MT7628(pAd))	{		if (LedMode < 0 || Status <0 || LedMode > 15 || Status > 11)			return;		else			LED_CMD = LED_Array[LedMode][Status];	}#endif /*MT7628*/	switch (Status)	{		case LED_LINK_DOWN:			LinkStatus = LINK_STATUS_LINK_DOWN;			pAd->LedCntl.LedIndicatorStrength = 0;			MCUCmd = MCU_SET_LED_MODE;			break;		case LED_LINK_UP:			if (pAd->CommonCfg.Channel > 14)				LinkStatus = LINK_STATUS_ABAND_LINK_UP;			else				LinkStatus = LINK_STATUS_GBAND_LINK_UP;			MCUCmd = MCU_SET_LED_MODE;			break;		case LED_RADIO_ON:			LinkStatus = LINK_STATUS_RADIO_ON;			MCUCmd = MCU_SET_LED_MODE;			break;		case LED_HALT: 			LedMode = 0; /* Driver sets MAC register and MAC controls LED */		case LED_RADIO_OFF:			LinkStatus = LINK_STATUS_RADIO_OFF;			MCUCmd = MCU_SET_LED_MODE;			break;		case LED_WPS:			LinkStatus = LINK_STATUS_WPS;			MCUCmd = MCU_SET_LED_MODE;			break;		case LED_ON_SITE_SURVEY:			LinkStatus = LINK_STATUS_ON_SITE_SURVEY;			MCUCmd = MCU_SET_LED_MODE;			break;//.........这里部分代码省略.........
开发者ID:23171580,项目名称:ralink,代码行数:101,


示例25: APMlmePeriodicExec

/*    ==========================================================================    Description:        This routine is executed every second -        1. Decide the overall channel quality        2. Check if need to upgrade the TX rate to any client        3. perform MAC table maintenance, including ageout no-traffic clients,            and release packet buffer in PSQ is fail to TX in time.    ========================================================================== */VOID APMlmePeriodicExec(    PRTMP_ADAPTER pAd){    /* 		Reqeust by David 2005/05/12		It make sense to disable Adjust Tx Power on AP mode, since we can't 		take care all of the client's situation		ToDo: need to verify compatibility issue with WiFi product.	*/	/*		We return here in ATE mode, because the statistics 		that ATE need are not collected via this routine.	*/#ifdef RALINK_ATE	if (ATE_ON(pAd))		return;#endif /* RALINK_ATE */#ifdef CARRIER_DETECTION_SUPPORT	if (isCarrierDetectExist(pAd) == TRUE)	{		if (pAd->CommonCfg.CarrierDetect.OneSecIntCount < pAd->CommonCfg.CarrierDetect.CarrierGoneThreshold)		{			pAd->CommonCfg.CarrierDetect.CD_State = CD_NORMAL;			pAd->CommonCfg.CarrierDetect.recheck = pAd->CommonCfg.CarrierDetect.recheck1;			if (pAd->CommonCfg.CarrierDetect.Debug != RT_DEBUG_TRACE)			{				DBGPRINT(RT_DEBUG_TRACE, ("Carrier gone/n"));				/* start all TX actions. */				APMakeAllBssBeacon(pAd);				APUpdateAllBeaconFrame(pAd);				AsicEnableBssSync(pAd);			}			else			{				printk("Carrier gone/n");			}		}				}	pAd->CommonCfg.CarrierDetect.OneSecIntCount = 0;#endif /* CARRIER_DETECTION_SUPPORT */	RTMP_CHIP_HIGH_POWER_TUNING(pAd, &pAd->ApCfg.RssiSample);	/* Disable Adjust Tx Power for WPA WiFi-test. */	/* Because high TX power results in the abnormal disconnection of Intel BG-STA. *//*#ifndef WIFI_TEST *//*	if (pAd->CommonCfg.bWiFiTest == FALSE) */	/* for SmartBit 64-byte stream test */	/* removed based on the decision of Ralink congress at 2011/7/06 *//*	if (pAd->MacTab.Size > 0) */		AsicAdjustTxPower(pAd);/*#endif // WIFI_TEST */	/* BBP TUNING: dynamic tune BBP R66 to find a balance between sensibility		and noise isolation *//*	AsicBbpTuning2(pAd); */    /* walk through MAC table, see if switching TX rate is required */    /* MAC table maintenance */	if (pAd->Mlme.PeriodicRound % MLME_TASK_EXEC_MULTIPLE == 0)	{		/* one second timer */	    MacTableMaintenance(pAd);		RTMPMaintainPMKIDCache(pAd);#ifdef WDS_SUPPORT		WdsTableMaintenance(pAd);#endif /* WDS_SUPPORT */#ifdef CLIENT_WDS	CliWds_ProxyTabMaintain(pAd);#endif /* CLIENT_WDS */	}		APUpdateCapabilityAndErpIe(pAd);#ifdef APCLI_SUPPORT	if (pAd->Mlme.OneSecPeriodicRound % 2 == 0)		ApCliIfMonitor(pAd);	if (pAd->Mlme.OneSecPeriodicRound % 2 == 1)		ApCliIfUp(pAd);	{		INT loop;		ULONG Now32;//.........这里部分代码省略.........
开发者ID:eckyecky,项目名称:rt-n56u,代码行数:101,


示例26: ScanNextChannel

/*	==========================================================================	Description:		Scan next channel	========================================================================== */VOID ScanNextChannel(	IN PRTMP_ADAPTER pAd,	IN UCHAR OpMode) {	UCHAR ScanType = pAd->MlmeAux.ScanType;	UINT ScanTimeIn5gChannel = SHORT_CHANNEL_TIME;	BOOLEAN ScanPending = FALSE;	RALINK_TIMER_STRUCT *sc_timer = NULL;	UINT stay_time = 0;			#ifdef RALINK_ATE	/* Nothing to do in ATE mode. */	if (ATE_ON(pAd))		return;#endif /* RALINK_ATE */#ifdef CONFIG_AP_SUPPORT	ScanPending = ((pAd->ApCfg.bImprovedScan) && (pAd->ApCfg.ScanChannelCnt>=3));//7#endif	if ((pAd->MlmeAux.Channel == 0) || ScanPending) 	{		scan_ch_restore(pAd, OpMode);	} 	else 	{		AsicSwitchChannel(pAd, pAd->MlmeAux.Channel, TRUE);		AsicLockChannel(pAd, pAd->MlmeAux.Channel);		{			BOOLEAN bScanPassive = FALSE;			if (pAd->MlmeAux.Channel > 14)			{				if ((pAd->CommonCfg.bIEEE80211H == 1)					&& RadarChannelCheck(pAd, pAd->MlmeAux.Channel))					bScanPassive = TRUE;			}#ifdef CARRIER_DETECTION_SUPPORT			if (pAd->CommonCfg.CarrierDetect.Enable == TRUE)				bScanPassive = TRUE;#endif /* CARRIER_DETECTION_SUPPORT */ 			if (bScanPassive)			{				ScanType = SCAN_PASSIVE;				ScanTimeIn5gChannel = MIN_CHANNEL_TIME;			}		}		/* Check if channel if passive scan under current regulatory domain */		if (CHAN_PropertyCheck(pAd, pAd->MlmeAux.Channel, CHANNEL_PASSIVE_SCAN) == TRUE)			ScanType = SCAN_PASSIVE;		if (OpMode == OPMODE_AP)			sc_timer = &pAd->MlmeAux.APScanTimer;		else			sc_timer = &pAd->MlmeAux.ScanTimer;					/* We need to shorten active scan time in order for WZC connect issue */		/* Chnage the channel scan time for CISCO stuff based on its IAPP announcement */#ifdef CONFIG_AP_SUPPORT		if (ScanType == FAST_SCAN_ACTIVE) {			RTMPSetTimer(&pAd->MlmeAux.APScanTimer, MIN_CHANNEL_TIME);//Carter test MIN_CHANNEL_TIME instead of Fast_Scan_Time			pAd->ApCfg.ScanChannelCnt++;		}		else /* must be SCAN_PASSIVE or SCAN_ACTIVE*/#endif		{#ifdef CONFIG_AP_SUPPORT			pAd->ApCfg.ScanChannelCnt++;			if ((OpMode == OPMODE_AP) && (pAd->ApCfg.bAutoChannelAtBootup))				stay_time = AUTO_CHANNEL_SEL_TIMEOUT;			else#endif /* CONFIG_AP_SUPPORT */			if (WMODE_CAP_2G(pAd->CommonCfg.PhyMode) &&				WMODE_CAP_5G(pAd->CommonCfg.PhyMode))			{				if (pAd->MlmeAux.Channel > 14)					stay_time = ScanTimeIn5gChannel;				else					stay_time = MIN_CHANNEL_TIME;			}			else				stay_time = MAX_CHANNEL_TIME;		}						RTMPSetTimer(sc_timer, stay_time);			//.........这里部分代码省略.........
开发者ID:jing-git,项目名称:rt-n56u-1,代码行数:101,


示例27: RTUSBKickBulkOut

/*	========================================================================		Routine Description:	Arguments:	Return Value:	Note:		========================================================================*/VOID	RTUSBKickBulkOut(	IN	PRTMP_ADAPTER pAd){	/* BulkIn Reset will reset whole USB PHY. So we need to make sure fRTMP_ADAPTER_BULKIN_RESET not flaged.*/	if (!RTMP_TEST_FLAG(pAd ,fRTMP_ADAPTER_NEED_STOP_TX)#ifdef RALINK_ATE					&& !(ATE_ON(pAd))#endif /* RALINK_ATE */		)	{		/* 2. PS-Poll frame is next*/		if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_PSPOLL))		{			RTUSBBulkOutPsPoll(pAd);		}		/* 5. Mlme frame is next*/		else if ((RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_MLME)) ||				 (pAd->MgmtRing.TxSwFreeIdx < MGMT_RING_SIZE))		{			RTUSBBulkOutMLMEPacket(pAd, pAd->MgmtRing.TxDmaIdx);		}		/* 6. Data frame normal is next*/		if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_DATA_NORMAL))		{			if (((!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) || 				(!OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_MEDIA_STATE_CONNECTED))#ifdef P2P_SUPPORT				|| P2P_GO_ON(pAd) || P2P_CLI_ON(pAd)#endif /* P2P_SUPPORT */#ifdef RT_CFG80211_SUPPORT                 || RTMP_CFG80211_VIF_P2P_GO_ON(pAd) || RTMP_CFG80211_VIF_P2P_CLI_ON(pAd)#endif				))			{				RTUSBBulkOutDataPacket(pAd, EDCA_AC0_PIPE, pAd->NextBulkOutIndex[EDCA_AC0_PIPE]);			}		}		if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_DATA_NORMAL_2))		{					if (((!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) || 				(!OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_MEDIA_STATE_CONNECTED))#ifdef P2P_SUPPORT				|| P2P_GO_ON(pAd) || P2P_CLI_ON(pAd)#endif /* P2P_SUPPORT */#ifdef RT_CFG80211_SUPPORT                 || RTMP_CFG80211_VIF_P2P_GO_ON(pAd) || RTMP_CFG80211_VIF_P2P_CLI_ON(pAd)#endif				))			{				RTUSBBulkOutDataPacket(pAd, EDCA_AC1_PIPE, pAd->NextBulkOutIndex[EDCA_AC1_PIPE]);			}		}		if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_DATA_NORMAL_3))		{			if (((!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) || 				(!OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_MEDIA_STATE_CONNECTED))#ifdef P2P_SUPPORT				|| P2P_GO_ON(pAd) || P2P_CLI_ON(pAd)#endif /* P2P_SUPPORT */#ifdef RT_CFG80211_SUPPORT                 || RTMP_CFG80211_VIF_P2P_GO_ON(pAd) || RTMP_CFG80211_VIF_P2P_CLI_ON(pAd)#endif				))			{				RTUSBBulkOutDataPacket(pAd, EDCA_AC2_PIPE, pAd->NextBulkOutIndex[EDCA_AC2_PIPE]);			}		}		if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_DATA_NORMAL_4))		{			if (((!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) || 				(!OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_MEDIA_STATE_CONNECTED))				))			{				RTUSBBulkOutDataPacket(pAd, EDCA_AC3_PIPE, pAd->NextBulkOutIndex[EDCA_AC3_PIPE]);			}		}		/* 7. Null frame is the last*/		else if (RTUSB_TEST_BULK_FLAG(pAd, fRTUSB_BULK_OUT_DATA_NULL))		{			if (!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS))			{				RTUSBBulkOutNullFrame(pAd);			}//.........这里部分代码省略.........
开发者ID:avila-devlogic,项目名称:D33_KK_Kernel,代码行数:101,


示例28: ScanNextChannel

/*	==========================================================================	Description:		Scan next channel	========================================================================== */VOID ScanNextChannel(	IN PRTMP_ADAPTER pAd,	IN UCHAR OpMode) {	UCHAR ScanType = pAd->MlmeAux.ScanType;	UINT ScanTimeIn5gChannel = SHORT_CHANNEL_TIME;	BOOLEAN ScanPending = FALSE;	RALINK_TIMER_STRUCT *sc_timer;	UINT stay_time = 0;			#ifdef RALINK_ATE	/* Nothing to do in ATE mode. */	if (ATE_ON(pAd))		return;#endif /* RALINK_ATE */#ifdef CONFIG_STA_SUPPORT	IF_DEV_CONFIG_OPMODE_ON_STA(pAd)	{		if (MONITOR_ON(pAd))			return;	}	ScanPending = ((pAd->StaCfg.bImprovedScan) && (pAd->StaCfg.ScanChannelCnt>=7));#endif /* CONFIG_STA_SUPPORT */#ifdef RT_CFG80211_SUPPORT#ifdef CONFIG_STA_SUPPORT                if ( (pAd->pCfg80211ChanList != NULL) && (pAd->MlmeAux.Channel != 0))                {                        UINT32 ChanId;                        for ( ChanId = 0 ; ChanId <pAd->Cfg80211ChanListLan ; ChanId++ )                        {                                if ( pAd->pCfg80211ChanList[ChanId] >= pAd->MlmeAux.Channel )                                {                                        pAd->MlmeAux.Channel = pAd->pCfg80211ChanList[ChanId];                                        break;                                }                        }                }#endif /* CONFIG_STA_SUPPORT */#endif /* RT_CFG80211_SUPPORT */	if ((pAd->MlmeAux.Channel == 0) || ScanPending) 	{		scan_ch_restore(pAd, OpMode);	} #ifdef RTMP_MAC_USB#ifdef CONFIG_STA_SUPPORT	else if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST) &&		(OpMode == OPMODE_STA))	{		pAd->Mlme.SyncMachine.CurrState = SYNC_IDLE;		MlmeCntlConfirm(pAd, MT2_SCAN_CONF, MLME_FAIL_NO_RESOURCE);	}	#endif /* CONFIG_STA_SUPPORT */#endif /* RTMP_MAC_USB */	else 	{#ifdef CONFIG_STA_SUPPORT		if (OpMode == OPMODE_STA)		{			/* BBP and RF are not accessible in PS mode, we has to wake them up first*/			if (OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_DOZE))				AsicForceWakeup(pAd, TRUE);			/* leave PSM during scanning. otherwise we may lost ProbeRsp & BEACON*/			if (pAd->StaCfg.Psm == PWR_SAVE)				RTMP_SET_PSM_BIT(pAd, PWR_ACTIVE);		}#endif /* CONFIG_STA_SUPPORT */		AsicSwitchChannel(pAd, pAd->MlmeAux.Channel, TRUE);		AsicLockChannel(pAd, pAd->MlmeAux.Channel);#ifdef CONFIG_STA_SUPPORT		if (OpMode == OPMODE_STA)		{			BOOLEAN bScanPassive = FALSE;			if (pAd->MlmeAux.Channel > 14)			{				if ((pAd->CommonCfg.bIEEE80211H == 1)					&& RadarChannelCheck(pAd, pAd->MlmeAux.Channel))					bScanPassive = TRUE;			}#ifdef CARRIER_DETECTION_SUPPORT			if (pAd->CommonCfg.CarrierDetect.Enable == TRUE)				bScanPassive = TRUE;#endif /* CARRIER_DETECTION_SUPPORT */ 			if (bScanPassive)//.........这里部分代码省略.........
开发者ID:avila-devlogic,项目名称:D33_KK_Kernel,代码行数:101,


示例29: ApCli_VirtualIF_PacketSend

/*========================================================================Routine Description:    Send a packet to WLAN.Arguments:    skb_p           points to our adapter    dev_p           which WLAN network interfaceReturn Value:    0: transmit successfully    otherwise: transmit failNote:========================================================================*/INT ApCli_VirtualIF_PacketSend(	IN PNDIS_PACKET 	skb_p, 	IN PNET_DEV			dev_p){	RTMP_ADAPTER *ad_p;	PAPCLI_STRUCT pApCli;	INT apcliIndex;	ad_p = RTMP_OS_NETDEV_GET_PRIV(dev_p);	ASSERT(ad_p);#ifdef RALINK_ATE	if (ATE_ON(ad_p))	{		RELEASE_NDIS_PACKET(ad_p, skb_p, NDIS_STATUS_FAILURE);		return 0;	}#endif // RALINK_ATE //	if ((RTMP_TEST_FLAG(ad_p, fRTMP_ADAPTER_BSS_SCAN_IN_PROGRESS)) ||		(RTMP_TEST_FLAG(ad_p, fRTMP_ADAPTER_RADIO_OFF))          ||		(RTMP_TEST_FLAG(ad_p, fRTMP_ADAPTER_RESET_IN_PROGRESS)))	{		/* wlan is scanning/disabled/reset */		RELEASE_NDIS_PACKET(ad_p, skb_p, NDIS_STATUS_FAILURE);		return 0;	}	if (!(RTMP_OS_NETDEV_STATE_RUNNING(dev_p)))	{		/* the interface is down */		RELEASE_NDIS_PACKET(ad_p, skb_p, NDIS_STATUS_FAILURE);		return 0;	}	pApCli = (PAPCLI_STRUCT)&ad_p->ApCfg.ApCliTab;	for(apcliIndex = 0; apcliIndex < MAX_APCLI_NUM; apcliIndex++)	{		if (pApCli[apcliIndex].Valid != TRUE)			continue;		/* find the device in our ApCli list */		if (pApCli[apcliIndex].dev == dev_p)		{			/* ya! find it */			ad_p->RalinkCounters.PendingNdisPacketCount ++;			RTMP_SET_PACKET_MOREDATA(skb_p, FALSE);			RTMP_SET_PACKET_NET_DEVICE_APCLI(skb_p, apcliIndex);			SET_OS_PKT_NETDEV(skb_p, ad_p->net_dev);			/* transmit the packet */			return rt28xx_packet_xmit(RTPKT_TO_OSPKT(skb_p));		}    }	RELEASE_NDIS_PACKET(ad_p, skb_p, NDIS_STATUS_FAILURE);	return 0;} /* End of ApCli_VirtualIF_PacketSend */
开发者ID:qwerty1023,项目名称:wive-rtnl-firmware,代码行数:80,



注:本文中的ATE_ON函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ ATF_CHECK函数代码示例
C++ ATB_GET_KIND函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。