亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? wt_nic.c

?? linux,red ,test,driver,need
?? C
字號:
#include "wtprecomp.h"  void AllocTxMgmt(IN PWT_ADAPTER Adapter, OUT PWTWLAN_TXBUF *ppWtTxBuf){	FN_ENTER;	*ppWtTxBuf = NULL;		WT_SPIN_LOCK_IRQ(&Adapter->SendLock);		if ( !list_empty(&Adapter->SendMgmtList))	{		*ppWtTxBuf = (PWTWLAN_TXBUF) ((&Adapter->SendMgmtList)->next);  		//printk("<0> ppWtTxBuf = %08x\r\n", *ppWtTxBuf);		ASSERT(*ppWtTxBuf);		list_del((struct list_head *)(*ppWtTxBuf));		memset( &(*ppWtTxBuf)->TXHwBuf.pHwTxBuf->TxAUXBuf, 0, sizeof(WTWLAN_TAUXB)+Adapter->MacHwCfg.ulHwHeadLen);	}		WT_SPIN_UNLOCK_IRQ(&Adapter->SendLock);		FN_EXIT(0,0);	return ;} void AllocTxBuff(IN PWT_ADAPTER Adapter, OUT PWTWLAN_TXBUF *ppWtTxBuf){	*ppWtTxBuf = NULL;		FN_ENTER;		WT_SPIN_LOCK_IRQ(&Adapter->SendLock);	if ( !list_empty(&Adapter->SendBufList))	{		*ppWtTxBuf = (PWTWLAN_TXBUF) ((&Adapter->SendBufList)->next);  		ASSERT(*ppWtTxBuf);		list_del((struct list_head *)(*ppWtTxBuf));		memset( &(*ppWtTxBuf)->TXHwBuf.pHwTxBuf->TxAUXBuf, 0, sizeof(WTWLAN_TAUXB)+Adapter->MacHwCfg.ulHwHeadLen);	}		WT_SPIN_UNLOCK_IRQ(&Adapter->SendLock);		FN_EXIT(0,0);		return ;}  void AllocRxMgmtBuff(IN PWT_ADAPTER Adapter,  OUT PWTWLAN_RXBUF *ppWtRxBuf){	FN_ENTER;		WT_SPIN_LOCK_IRQ(&Adapter->RcvLock);	*ppWtRxBuf = NULL;	if ( !list_empty(&Adapter->RecvMgmtList))	{		*ppWtRxBuf = (PWTWLAN_RXBUF)((&Adapter->RecvMgmtList)->next);		if(*ppWtRxBuf)		{			list_del((struct list_head *)(*ppWtRxBuf ));			(*ppWtRxBuf)->bMgmtFrm = TRUE;			Adapter->nReadyRecvMgmt--;			ASSERT(Adapter->nReadyRecvMgmt >= 0);			memset( &(*ppWtRxBuf)->RXHwBuf.pHwRxBuf->RxStatus, 0, sizeof(WTWLAN_RSB)+Adapter->MacHwCfg.ulHwHeadLen);		}	}	else	{		ASSERT(Adapter->nReadyRecvMgmt == 0);		printk("<0>Fail to alloc mgmt rcv frame\r\n");	}		WT_SPIN_UNLOCK_IRQ(&Adapter->RcvLock);		FN_EXIT(0,0);		return;} void AllocRxBuff(IN PWT_ADAPTER Adapter,  OUT PWTWLAN_RXBUF *ppWtRxBuf){	FN_ENTER;	*ppWtRxBuf = NULL;		WT_SPIN_LOCK_IRQ(&Adapter->RcvLock);	if ( !list_empty(&Adapter->RecvList) )//receive list	{		*ppWtRxBuf = (PWTWLAN_RXBUF)((&Adapter->RecvList)->next);		if(*ppWtRxBuf)		{		(*ppWtRxBuf)->skb = dev_alloc_skb(Adapter->MacHwCfg.ulHwHeadLen + Adapter->MacHwCfg.ulHwRxCellLen + sizeof(WTWLAN_RSB));		(*ppWtRxBuf)->RXHwBuf.pRxBuffer = ( *ppWtRxBuf )->skb->data;				memset( &(*ppWtRxBuf)->RXHwBuf.pHwRxBuf->RxStatus, 0, sizeof(WTWLAN_RSB)+Adapter->MacHwCfg.ulHwHeadLen);				(*ppWtRxBuf)->bMgmtFrm = FALSE;		Adapter->nReadyRecv--;		ASSERT(Adapter->nReadyRecv >= 0);		list_del((struct list_head *)(*ppWtRxBuf ));		}	}	else	{		ASSERT(Adapter->nReadyRecv == 0);	}		WT_SPIN_UNLOCK_IRQ(&Adapter->RcvLock);	FN_EXIT(0,0);		return;}VOID NICReturnRxBuf(IN PWT_ADAPTER Adapter, IN PWTWLAN_RXBUF pWtRxBuf){	FN_ENTER;		WT_SPIN_LOCK_IRQ(&Adapter->RcvLock); 		if( pWtRxBuf )	{		pWtRxBuf->Frmtype = 0;		memset( &pWtRxBuf->FragStatus, 0, sizeof( WTWLAN_FRAG_ENTRY ) );		memset( &pWtRxBuf->ParseData, 0, sizeof( p80211mgmt_fr_t ) );			/////////////////////////////	        //dev_kfree_skb(pWtRxBuf->skb);	        /////////////////////////////		pWtRxBuf->skb = NULL;		list_add_tail( (struct list_head *)pWtRxBuf, &Adapter->RecvList);		Adapter->nReadyRecv++;		ASSERT( Adapter->nReadyRecv <= Adapter->NumRxBuf );				if( netif_queue_stopped( Adapter->ndev ) )		netif_wake_queue( Adapter->ndev );			}		WT_SPIN_UNLOCK_IRQ(&Adapter->RcvLock);			FN_EXIT(0,0);		return;}VOID NICReturnRxMgmtBuf(IN PWT_ADAPTER Adapter, IN PWTWLAN_RXBUF pWtRxBuf){	FN_ENTER;		WT_SPIN_LOCK_IRQ(&Adapter->RcvLock);    	if(pWtRxBuf)	{	pWtRxBuf->Frmtype = 0;	memset( &pWtRxBuf->FragStatus, 0, sizeof( WTWLAN_FRAG_ENTRY ) );	memset( &pWtRxBuf->ParseData, 0, sizeof( p80211mgmt_fr_t ) );	list_add_tail( (struct list_head *)pWtRxBuf, &Adapter->RecvMgmtList);	Adapter->nReadyRecvMgmt++;	}		WT_SPIN_UNLOCK_IRQ(&Adapter->RcvLock);		FN_EXIT(0,0);		return;	}__inline VOID WT_FREE_SEND_PACKET(IN PWT_ADAPTER Adapter, IN PWTWLAN_TXBUF pWtTxBuf){	struct sk_buff *Packet;		FN_ENTER;		WT_SPIN_LOCK_IRQ(&Adapter->SendLock);	Packet = pWtTxBuf->skb;	if (Packet)	{				WT_CLEAR_FLAGS(pWtTxBuf);		Adapter->nBusySend--;		ASSERT(Adapter->nBusySend >= 0);				//////////////////////////////	        dev_kfree_skb_any(pWtTxBuf->skb);	        //////////////////////////////		pWtTxBuf->skb = NULL;		pWtTxBuf->QosTag = 0;				list_add_tail( (struct list_head *)pWtTxBuf, &Adapter->SendBufList);		}		WT_SPIN_UNLOCK_IRQ(&Adapter->SendLock);	FN_EXIT(0,0);	return;}__inline VOID WT_FREE_MGMT_PACKET(IN PWT_ADAPTER Adapter, IN PWTWLAN_TXBUF pWtTxBuf){	FN_ENTER;	WT_CLEAR_FLAGS(pWtTxBuf);	WT_SPIN_LOCK_IRQ(&Adapter->SendLock);		list_add_tail( (struct list_head *)pWtTxBuf, &Adapter->SendMgmtList);	WT_SPIN_UNLOCK_IRQ(&Adapter->SendLock);		FN_EXIT(0,0);	return;}VOID WtFreeQueuedSendPackets(IN  PWT_ADAPTER  Adapter){	return;	}void WtFreeBusySendPackets(IN  PWT_ADAPTER  Adapter){	return;}VOID NICResetRecv(IN  PWT_ADAPTER   Adapter){	return;}void NicConnectStatusIndicate( IN PWT_ADAPTER Adapter, IN BOOL bLink ){	return;}/* Get priority  and swap to out queue num @ QosTag */__inline void WtTxQosPreProcess( IN  PWTWLAN_TXBUF pWtTxBuf )	{        // get Qos inf and fill Qos tag	pWtTxBuf->QosTag = AC_BE;	return;}/* Get priority from 802.11e head and swap to out queue num @ QosTag */__inline void WtRxQosPreProcess( IN  PWTWLAN_RXBUF pWtRxBuf)		{        // get Qos inf and fill Qos tag        //revise to add Qos tag from rcv packet.	{		pWtRxBuf->QosTag = AC_BE;	}	return;}unsigned long long mod64(unsigned long long dividend, unsigned long divisor){        unsigned long long mod;	unsigned long long temp_dividend;	temp_dividend = dividend;	mod = do_div(temp_dividend, divisor);	return mod;	}unsigned long long div64(unsigned long long dividend, unsigned long divisor){     	unsigned long long temp_dividend;	temp_dividend = dividend;//temp_dividend value don't change        do_div(temp_dividend, divisor);	return temp_dividend;	}void Tx_Rx_Statsic(IN PWT_ADAPTER Adapter){#if 0     printk("<0>*****************************Tx_Rx_Statsic****************************\n\r");     printk("<0>)Tx_Msdu_Num = %d \n\r",Adapter->MainMemAddress->HwCSMem.HwStatistic.XmtMsduCounter);     printk("<0>)Rx_Mpdu_Num = %d \n\r",Adapter->MainMemAddress->HwCSMem.HwStatistic.RcvMpduCounter);     printk("<0>)Rx_Success_Mpdu_Num = %d \n\r",Adapter->MainMemAddress->HwCSMem.HwStatistic.RcvSuccessMpduCounter);     printk("<0>)Abandon_Mpdu_Num = %d \n\r",Adapter->MainMemAddress->HwCSMem.HwStatistic.RcvMissedCounter);     printk("<0>)Rx_State = %08x \n\r",Adapter->CSRAddress->RxStatus.RegRxStatus);#endif}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品久久精品| 日韩av一区二区在线影视| 欧美久久婷婷综合色| 国产剧情在线观看一区二区| 亚洲精选视频免费看| 精品sm在线观看| 欧美在线不卡一区| 成人sese在线| 麻豆成人免费电影| 亚洲一区二区三区四区在线 | 岛国av在线一区| 亚洲国产成人av网| 亚洲少妇中出一区| 国产日产精品一区| 久久日一线二线三线suv| 欧美老肥妇做.爰bbww| 一本大道久久a久久综合| 国产成人久久精品77777最新版本| 亚洲va欧美va人人爽| 亚洲男帅同性gay1069| 日本一区二区三区免费乱视频| 日韩精品中文字幕一区二区三区| 欧美性色黄大片手机版| 99久久免费视频.com| 国产成人免费在线视频| 精品制服美女丁香| 免费人成精品欧美精品| 亚洲大片免费看| 一区二区三区 在线观看视频| 国产精品日日摸夜夜摸av| 精品91自产拍在线观看一区| 欧美一级欧美三级| 91精品国产品国语在线不卡| 欧美性做爰猛烈叫床潮| 色8久久精品久久久久久蜜| 99在线视频精品| 99re热视频精品| 不卡一区二区中文字幕| 国产成人超碰人人澡人人澡| 国产精品99久| 高潮精品一区videoshd| 大陆成人av片| 91免费观看视频| 色婷婷综合在线| 一本一本大道香蕉久在线精品| k8久久久一区二区三区| 91在线视频免费观看| 色噜噜夜夜夜综合网| 日本韩国一区二区三区| 欧美亚洲国产一区二区三区va| 欧美日韩精品欧美日韩精品一| 欧美久久高跟鞋激| 欧美www视频| 国产亚洲欧美在线| 成人欧美一区二区三区视频网页| 亚洲欧美日韩电影| 亚洲不卡一区二区三区| 麻豆国产精品一区二区三区| 国产麻豆精品在线观看| 91丨九色丨黑人外教| 欧美色视频在线观看| 日韩欧美国产电影| 国产精品素人视频| 亚洲一二三四久久| 久久99国产精品免费| 成人美女在线观看| 欧美色视频在线| 久久无码av三级| 亚洲另类色综合网站| 美女爽到高潮91| 成人网在线播放| 欧美午夜理伦三级在线观看| 日韩午夜中文字幕| 亚洲国产成人私人影院tom | 国产成人综合在线| 在线一区二区视频| 2024国产精品视频| 亚洲精品成人少妇| 黄页网站大全一区二区| 色综合久久久久| 欧美大白屁股肥臀xxxxxx| 中文字幕亚洲区| 蜜桃精品视频在线| 色哟哟一区二区| 亚洲精品一区二区三区福利 | 国产精品自拍一区| 欧美亚洲日本一区| 日本一区二区三级电影在线观看 | 日产国产欧美视频一区精品| 国产精华液一区二区三区| 欧美日韩精品电影| 中文字幕一区在线| 精品一区二区三区在线播放视频 | 国产精品色噜噜| 久久精品国产99国产精品| 91美女片黄在线| 久久久综合网站| 图片区小说区国产精品视频| 成人v精品蜜桃久久一区| 日韩精品一区二区三区swag | 国产精品久久福利| 麻豆精品一区二区三区| 在线观看日韩一区| 国产精品久久久久久久第一福利| 精品伊人久久久久7777人| 欧美日韩一区二区三区不卡 | 天天色天天操综合| 91婷婷韩国欧美一区二区| 国产天堂亚洲国产碰碰| 蜜桃视频一区二区三区| 欧美午夜不卡在线观看免费| 国产精品美女久久久久久久久久久 | 亚洲男人电影天堂| 日韩av一级片| 欧美在线色视频| 亚洲少妇屁股交4| 成人激情小说乱人伦| 久久欧美一区二区| 麻豆精品一区二区综合av| 欧美精品在欧美一区二区少妇| 亚洲女厕所小便bbb| 波波电影院一区二区三区| 久久久久久久电影| 狠狠色伊人亚洲综合成人| 欧美一区二区福利视频| 日韩av电影免费观看高清完整版| 欧美日韩精品一区二区三区 | 中文字幕av一区 二区| 91精品国产欧美日韩| 亚洲在线中文字幕| 91一区二区三区在线观看| 国产精品久久久久精k8| 成人黄色电影在线| 欧美激情一区二区| 成人污污视频在线观看| 中文字幕 久热精品 视频在线| 国产经典欧美精品| 欧美国产97人人爽人人喊| 成人黄色综合网站| 中文字幕一区二区三区av| av亚洲精华国产精华精华| 中文字幕在线观看一区二区| 91亚洲精品乱码久久久久久蜜桃| 亚洲乱码日产精品bd| 91国产免费观看| 午夜欧美电影在线观看| 欧美一级高清片在线观看| 久久精品国产第一区二区三区| 精品国产精品网麻豆系列| 国产一二精品视频| 国产精品动漫网站| 色94色欧美sute亚洲线路一ni| 一区二区在线看| 国产精品不卡在线| 成人激情电影免费在线观看| 一区二区在线免费观看| 3d动漫精品啪啪一区二区竹菊| 免费看精品久久片| 国产欧美一区视频| 色婷婷久久久久swag精品| 日韩vs国产vs欧美| 国产欧美一区二区精品性色超碰| 99久久精品情趣| 天堂成人免费av电影一区| 精品国产第一区二区三区观看体验| 国产成人午夜精品影院观看视频 | 午夜久久久久久电影| 精品国产欧美一区二区| 成人的网站免费观看| 亚洲国产视频a| 久久综合九色欧美综合狠狠| eeuss影院一区二区三区| 午夜精品影院在线观看| 久久一日本道色综合| 色婷婷国产精品| 精东粉嫩av免费一区二区三区| 亚洲丝袜另类动漫二区| 日韩欧美你懂的| 色欧美88888久久久久久影院| 毛片基地黄久久久久久天堂| 中文字幕一区二区在线播放| 91麻豆精品国产91久久久| 成人美女在线视频| 美女精品一区二区| 亚洲男人的天堂在线aⅴ视频| 日韩视频中午一区| 91理论电影在线观看| 精品一区二区免费在线观看| 亚洲激情一二三区| 国产亚洲午夜高清国产拍精品| 欧美久久婷婷综合色| 99国产精品久久久| 韩国视频一区二区| 日韩国产高清影视| 亚洲精品福利视频网站| 久久丝袜美腿综合| 这里只有精品免费| 91网址在线看| 高潮精品一区videoshd| 免费久久精品视频|