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

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

?? wt_dev_pci.c

?? linux,red ,test,driver,need
?? C
?? 第 1 頁 / 共 2 頁
字號:
static intWtClose(struct net_device *ndev){	WT_ADAPTER *Adapter = netdev_priv(ndev);		FN_ENTER;	netif_stop_queue(ndev);		FN_EXIT(0,0);	return wt4_bring_down(Adapter);	//return 0;}                                                          				//#if 0static intwt4_bring_down(WT_ADAPTER *Adapter){	FN_ENTER;		FN_EXIT(0,0);		return 0;}//#endifstruct net_device_stats *wt_eth_statistics(struct net_device *ndev){       	WT_ADAPTER *Adapter = netdev_priv(ndev);	Adapter->statistics.rx_packets= ieee2host32( (ULONG)Adapter->MainMemAddress->HwCSMem.HwStatistic.RcvMpduCounter ); 	Adapter->statistics.tx_packets= ieee2host32( (ULONG)Adapter->MainMemAddress->HwCSMem.HwStatistic.XmtMsduCounter ); 	Adapter->statistics.rx_bytes=100000;//Adapter->statistics.rx_bytes; 	Adapter->statistics.rx_errors= ieee2host32( (ULONG)Adapter->MainMemAddress->HwCSMem.HwStatistic.RcvMissedCounter ); 	Adapter->statistics.tx_errors= ieee2host32( (ULONG)Adapter->MainMemAddress->HwCSMem.HwStatistic.XmtMsduCounter-(ULONG)Adapter->MainMemAddress->HwCSMem.HwStatistic.XmtSuccessMsduCounter ); 	Adapter->statistics.rx_dropped= ieee2host32( (ULONG)Adapter->MainMemAddress->HwCSMem.HwStatistic.RcvMissedCounter );	 	Adapter->statistics.tx_dropped= ieee2host32( (ULONG)Adapter->MainMemAddress->HwCSMem.HwStatistic.XmtMsduCounter-(ULONG)Adapter->MainMemAddress->HwCSMem.HwStatistic.XmtSuccessMsduCounter );	 	Adapter->statistics.multicast=0;	 	Adapter->statistics.collisions=0; 	Adapter->statistics.rx_length_errors=0;	 	Adapter->statistics.rx_over_errors=0; 	Adapter->statistics.rx_crc_errors=0;	 	Adapter->statistics.rx_frame_errors=0; 	Adapter->statistics.rx_fifo_errors=0;	 	Adapter->statistics.rx_missed_errors=0; 	Adapter->statistics.tx_aborted_errors=0;	 	Adapter->statistics.tx_carrier_errors=0; 	Adapter->statistics.tx_fifo_errors=0;	 	Adapter->statistics.tx_heartbeat_errors=0; 	Adapter->statistics.tx_window_errors=0; 	Adapter->statistics.rx_compressed=0;	 	Adapter->statistics.tx_compressed=0;	return &Adapter->statistics;}/******************************************************************************    Network device configuration functions******************************************************************************/static intWtAllocMemory(WT_ADAPTER *Adapter){		FN_ENTER;	printk("%sLEVEL   Adapter = %08x\r\n", __FUNCTION__,  Adapter);	printk("%sLEVEL   Adapter->pdev = %08x\r\n", __FUNCTION__,   Adapter->pdev);	if((pci_resource_len(Adapter->pdev, 0) == wt4_mainmem_size) /*&& (pci_resource_flags(Adapter->pdev, 0) == 0)*/)	{	   	    Adapter->MainMemAddress = ioremap(pci_resource_start(Adapter->pdev, 0),wt4_mainmem_size);	    	    if (!(Adapter->MainMemAddress))	    {	        printk(" <0>PCI memory remapping failed \n");		return -1;	    }	    	}	else if((pci_resource_len(Adapter->pdev, 0) == wt4_eeprom_size) /*&& (pci_resource_flags(Adapter->pdev, 0) == 0)*/)	{	            Adapter->CfgAddress = ioremap(pci_resource_start(Adapter->pdev, 0),wt4_eeprom_size);	    	    if (!(Adapter->CfgAddress))	    {	        printk(" <0>PCI memory remapping failed \n");		return -1;	    }	    	}	else	{		    Adapter->device_base1 = ioremap(pci_resource_start(Adapter->pdev, 0),wt4_io_size);	    	    if (!(Adapter->device_base1))	    {	        printk(" <0>PCI memory remapping failed \n");		return -1;	    }	}	////////		if((pci_resource_len(Adapter->pdev, 1) == wt4_mainmem_size) /*&& (pci_resource_flags(Adapter->pdev, 1) == 0)*/)	{	   	    Adapter->MainMemAddress = ioremap(pci_resource_start(Adapter->pdev, 1),wt4_mainmem_size);	    	    if (!(Adapter->MainMemAddress))	    {	        printk(" <0>PCI memory remapping failed \n");		return -1;	    }	    	}	else if((pci_resource_len(Adapter->pdev, 1) == wt4_eeprom_size) /*&& (pci_resource_flags(Adapter->pdev, 1) == 0)*/)	{	            Adapter->CfgAddress = ioremap(pci_resource_start(Adapter->pdev, 1),wt4_eeprom_size);	    	    if (!(Adapter->CfgAddress))	    {	        printk(" <0>PCI memory remapping failed \n");		return -1;	    }	    	}	else	{		    Adapter->device_base1 = ioremap(pci_resource_start(Adapter->pdev, 1),wt4_io_size);	    	    if (!(Adapter->device_base1))	    {	        printk(" <0>PCI memory remapping failed \n");		return -1;	    }	}	////////////		if((pci_resource_len(Adapter->pdev, 2) == wt4_mainmem_size) /*&& (pci_resource_flags(Adapter->pdev, 2) == 0)*/)	{	   	    Adapter->MainMemAddress = ioremap(pci_resource_start(Adapter->pdev, 2),wt4_mainmem_size);	    	    if (!(Adapter->MainMemAddress))	    {	        printk(" <0>PCI memory remapping failed \n");		return -1;	    }	    	}	else if((pci_resource_len(Adapter->pdev, 2) == wt4_eeprom_size) /*&& (pci_resource_flags(Adapter->pdev, 2) == 0)*/)	{	            Adapter->CfgAddress = ioremap(pci_resource_start(Adapter->pdev, 2),wt4_eeprom_size);	    	    if (!(Adapter->CfgAddress))	    {	        printk(" <0>PCI memory remapping failed \n");		return -1;	    }	    	}	else	{		    Adapter->device_base1 = ioremap(pci_resource_start(Adapter->pdev, 2),wt4_io_size);	    	    if (!(Adapter->device_base1))	    {	        printk(" <0>PCI memory remapping failed \n");		return -1;	    }	}	/////////////////////	/* allaction for recv and tran buffer */		printk(LEVEL" now begin to init the resouces for receive and transmition!\n");	   			WtInitList(Adapter);	WtSoftParaInit(Adapter);	WtInitSend(Adapter);	NICInitRecv(Adapter);	printk(LEVEL" now end to init the resouces for receive and transmition!\n");		ParameterAlloc( Adapter );	wt4_acl_init(&Adapter->acl);//4.2232	wt4_wpa_ie_init(Adapter);	//printk("In file %s line %d Function %s \n", __FILE__, __LINE__, __FUNCTION__);			      FN_EXIT(0,0);		return 0;	#if 0out_free:	WtFreeMemory(Adapter);	FN_EXIT(0,0);	return -1;#endif}intWtFreeMemory(WT_ADAPTER *Adapter){		FN_ENTER;		        /* release the resources allocted to wt4!!! */	if (Adapter->MainMemAddress) {	    iounmap(Adapter->MainMemAddress);	    Adapter->MainMemAddress = NULL;	   }	   	if (Adapter->device_base1) {	    iounmap(Adapter->device_base1);	    Adapter->device_base1 = NULL;	   }	   	if (Adapter->device_base2) {	    iounmap(Adapter->device_base2);	    Adapter->device_base2 = NULL;	   }	   	ParameterFree( Adapter );		if (Adapter->WtWlanTxBufMem) {	    kfree(Adapter->WtWlanTxBufMem);	    Adapter->WtWlanTxBufMem = NULL;	}        if (Adapter->WtWlanRxBufMem) {	    kfree(Adapter->WtWlanRxBufMem);	    Adapter->WtWlanRxBufMem = NULL;	}			/* Free the acces control list and the WPA list */	wt4_acl_clean(&Adapter->acl);//05.4.22	wt4_wpa_ie_clean(Adapter);		FN_EXIT(0,0);	return 0;	}  NDIS_STATUS Wt4InitStatistics (IN PWT_ADAPTER Adapter){	NDIS_STATUS        Status = NDIS_STATUS_SUCCESS;	Adapter->statistics.rx_packets=0; 	Adapter->statistics.tx_packets=0; //	Adapter->statistics.rx_bytes=0; //	Adapter->statistics.tx_bytes=0; 	Adapter->statistics.rx_errors=0; 	Adapter->statistics.tx_errors=0; 	Adapter->statistics.rx_dropped=0;	 	Adapter->statistics.tx_dropped=0;	 	Adapter->statistics.multicast=0;	 	Adapter->statistics.collisions=0; 	 	Adapter->statistics.rx_length_errors=0;	 	Adapter->statistics.rx_over_errors=0; 	Adapter->statistics.rx_crc_errors=0;	 	Adapter->statistics.rx_frame_errors=0; 	Adapter->statistics.rx_fifo_errors=0;	 	Adapter->statistics.rx_missed_errors=0; 	 	Adapter->statistics.tx_aborted_errors=0;	 	Adapter->statistics.tx_carrier_errors=0; 	Adapter->statistics.tx_fifo_errors=0;	 	Adapter->statistics.tx_heartbeat_errors=0; 	Adapter->statistics.tx_window_errors=0; 	 	Adapter->statistics.rx_compressed=0;	 	Adapter->statistics.tx_compressed=0;	return  Status;} struct net_device *WtNdevSetupPci(struct pci_dev *pdev){	WT_ADAPTER *Adapter;        struct net_device *ndev = alloc_etherdev(sizeof(WT_ADAPTER));        FN_ENTER;		//memset(Adapter, 0, sizeof(WT_ADAPTER));       // printk("%sLEVEL   pci_resource_start(pdev, 0)= %08x\r\n", __FUNCTION__,  pci_resource_start(pdev, 0));	//struct net_device *ndev = alloc_etherdev(sizeof(WT_ADAPTER));	 	if (!ndev)	   return ndev; 			SET_MODULE_OWNER(ndev);	pci_set_drvdata(pdev, ndev); 	// setup the structure members 	ndev->base_addr = pci_resource_start(pdev, 0);//net interface i/o base addr	//ndev->base_addr = 0x1f800000;	printk("%sLEVEL   ndev->base_addr = %08x\r\n", __FUNCTION__,  ndev->base_addr);	ndev->irq = pdev->irq;	// initialize the function pointers 	ndev->open = &WtOpen;	ndev->stop = &WtClose;	ndev->get_stats = &wt_eth_statistics;	ndev->get_wireless_stats = &wt4_get_wireless_stats;	//define function private function	ndev->wireless_handlers = (struct iw_handler_def *) &wt4_handler_def;        ndev->hard_start_xmit = &WtTransmit;	// ndev->set_multicast_list = &islpci_set_multicast_list; 	ndev->addr_len = ETH_ALEN;	ndev->set_mac_address = &wt4_set_mac_address;	//Get a non-zero dummy MAC address for nameif. Jean II 	memcpy(ndev->dev_addr, dummy_mac, 6);//get hardware address	// allocate a Adapterate device structure to the network device  	Adapter = netdev_priv(ndev);	printk("%sLEVEL   Adapter = %08x\r\n", __FUNCTION__,  Adapter);        Adapter->ndev = ndev;	printk("%sLEVEL   Adapter->ndev = %08x\r\n", __FUNCTION__,   Adapter->ndev);	Adapter->pdev = pdev;      //  printk("%sLEVEL   Adapter->pdev = %08x\r\n", __FUNCTION__,   Adapter->pdev);	Adapter->monitor_type = ARPHRD_IEEE80211;//05.4.22	Adapter->ndev->type = (Adapter->iw_mode == IW_MODE_MONITOR) ?		              Adapter->monitor_type : ARPHRD_ETHER; //05.4.22			      	//noe we dont need to support WAPI	Adapter->MacParameter.bSoftDecrypt = FALSE;	Adapter->MacParameter.bSoftEncrypt = FALSE;		//added by hk 2006.9.27	tasklet_init(&Adapter->TxTasklet, (void (*)(unsigned long))		     WtHandleSendInterrupt, (unsigned long)Adapter);	tasklet_init(&Adapter->RxTasklet, (void (*)(unsigned long))		     WtHandleRecvInterrupt, (unsigned long)Adapter);      init_waitqueue_head(&Adapter->reset_done);//05.4.22	// init the queue read locks, process wait counter 	sema_init(&Adapter->mgmt_sem, 1);//05.4.22	//Adapter->mgmt_received = NULL;//05.4.22		sema_init(&Adapter->stats_sem, 1);//05.4.22		//init all locks we needed	spin_lock_init(&Adapter->slock);	spin_lock_init(&Adapter->Lock);	spin_lock_init(&Adapter->SendLock);	spin_lock_init(&Adapter->RcvLock);	spin_lock_init(&Adapter->MacLock);//	spin_lock_init(&Adapter->SsidGetLock);//	spin_lock_init(&Adapter->SsidSetLock);	// initialize workqueue's 	INIT_WORK(&Adapter->stats_work,		  (void (*)(void *)) wt4_update_stats, Adapter);	Adapter->stats_timestamp = 0;        //////////////////////////////////////////////////////////////////////////////////////////	WtWlanAdpterWt4 = Adapter;        //////////////////////////////////////////////////////////////////////////////////////////	printk("%sLEVEL   Adapter = %08x\r\n", __FUNCTION__,  Adapter);	// allocate various memory areas 	if (WtAllocMemory(Adapter))	   goto do_free_netdev;        	// save the start and end address of the PCI memory area 	ndev->mem_start = (unsigned long) Adapter->MainMemAddress;	printk("%sLEVEL   ndev->mem_start = %08x\r\n", __FUNCTION__,  ndev->mem_start);	ndev->mem_end = ndev->mem_start + wt4_mainmem_size;//05.4.22			// alian csraddress for convenient		Adapter->CSRAddress = &Adapter->MainMemAddress->HwCSMem.CSRAddress;	printk(LEVEL" Adapter->CSRAddress  = %08x\r\n", Adapter->CSRAddress);	 	if (register_netdev(ndev)) {			   printk("ERROR: register_netdev() failed ):\r\n");	   goto do_wt_free_memory;	}	        NICReadAdapterInfo(Adapter);	wt_mgt_init(Adapter);	Wt4InitStatistics(Adapter);	        FN_EXIT(0,0);		return ndev;  do_wt_free_memory:	WtFreeMemory(Adapter);	 do_free_netdev:	pci_set_drvdata(pdev, NULL);	free_netdev(ndev);	Adapter = NULL;	return NULL;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品高清视频| 日韩免费观看高清完整版| 日本人妖一区二区| 中文字幕视频一区| 精品久久人人做人人爽| 欧美亚洲自拍偷拍| 99久久婷婷国产综合精品电影| 日产精品久久久久久久性色| 中文字幕制服丝袜成人av| 日韩精品一区二区三区在线观看 | 久久久久久久一区| 在线精品视频一区二区三四| 国产乱码字幕精品高清av| 五月天久久比比资源色| 亚洲精品第1页| 中文字幕不卡在线播放| 精品国产乱码久久久久久免费| 欧美精品在欧美一区二区少妇| 色伊人久久综合中文字幕| www.欧美.com| 福利电影一区二区| 国产美女娇喘av呻吟久久| 美女脱光内衣内裤视频久久影院| 亚洲成a人在线观看| 亚洲精品自拍动漫在线| 国产精品第一页第二页第三页| 久久婷婷国产综合国色天香 | 国产精品美女久久久久久| 久久九九国产精品| 日韩精品一区二区三区三区免费 | 亚洲丝袜另类动漫二区| 亚洲欧洲精品天堂一级| 国产精品三级在线观看| 国产精品久久久久久久久图文区| 国产欧美日韩精品在线| 国产欧美综合在线| 欧美激情在线免费观看| 中文文精品字幕一区二区| 国产欧美一区二区精品久导航| 久久婷婷综合激情| 国产欧美一区在线| 国产精品美女一区二区三区 | 中文字幕av一区 二区| 中文字幕欧美三区| 欧美一级片在线| 精品国产露脸精彩对白| 精品成人免费观看| 国产欧美一区二区精品婷婷| 中文字幕一区日韩精品欧美| 亚洲天堂精品在线观看| 亚洲国产成人av网| 日韩国产高清影视| 国产在线精品国自产拍免费| 国产 欧美在线| 99精品久久免费看蜜臀剧情介绍| 一本一道久久a久久精品 | 欧美精品乱人伦久久久久久| 在线综合+亚洲+欧美中文字幕| 日韩一区二区三区在线观看| 久久日一线二线三线suv| 国产日韩欧美不卡在线| 一区二区三区四区亚洲| 日韩精品电影在线| 国产老妇另类xxxxx| 91免费在线看| 91精品国产一区二区三区| 欧美精品一区男女天堂| 国产精品传媒入口麻豆| 午夜精品福利一区二区三区蜜桃| 久久不见久久见免费视频7| 国产二区国产一区在线观看| 91丝袜国产在线播放| 日韩一区二区三区四区 | 亚洲国产美国国产综合一区二区| 久久精品国产精品亚洲精品| 国产成人精品一区二| 欧美午夜一区二区三区免费大片| 日韩欧美精品在线视频| 亚洲欧洲精品一区二区三区| 免费在线欧美视频| av电影在线观看不卡| 91精品免费观看| 亚洲人成亚洲人成在线观看图片| 免费三级欧美电影| 97超碰欧美中文字幕| 91精品国产综合久久精品性色| 久久久高清一区二区三区| 亚洲激情欧美激情| 国产麻豆一精品一av一免费| 一本大道综合伊人精品热热| 精品国产欧美一区二区| 亚洲午夜影视影院在线观看| 国产91露脸合集magnet| 欧美日韩国产a| 国产精品久久久久影院老司| 老司机精品视频一区二区三区| 在线视频观看一区| 国产精品视频在线看| 毛片一区二区三区| 在线亚洲欧美专区二区| 中文字幕欧美日韩一区| 久久国产精品99久久人人澡| 在线国产亚洲欧美| 中文字幕视频一区| 粉嫩aⅴ一区二区三区四区 | 欧美色爱综合网| 中文字幕日韩精品一区| 国产一区二区美女诱惑| 日韩午夜中文字幕| 亚洲国产综合在线| 91福利视频网站| 亚洲欧美日韩国产成人精品影院| 国产成人在线视频网站| 久久综合九色综合欧美98| 婷婷激情综合网| 欧美日韩国产美女| 亚洲一区二区三区中文字幕 | 日韩毛片高清在线播放| 国产伦精一区二区三区| 欧美tk丨vk视频| 人妖欧美一区二区| 4438亚洲最大| 日韩成人精品在线观看| 在线电影一区二区三区| 亚洲超碰精品一区二区| 色婷婷激情综合| 亚洲精品菠萝久久久久久久| 9人人澡人人爽人人精品| 日本一区二区在线不卡| 国产91在线看| 中文字幕在线不卡一区| 成人av在线一区二区| 国产精品日韩成人| 成人毛片老司机大片| 欧美韩国日本一区| 国产不卡视频一区二区三区| 国产视频一区二区在线| 国产不卡视频在线观看| 亚洲欧洲av在线| 日本韩国一区二区三区视频| 亚洲激情自拍偷拍| 欧美精品自拍偷拍动漫精品| 日日摸夜夜添夜夜添精品视频| 欧美疯狂性受xxxxx喷水图片| 男人的j进女人的j一区| 欧美电影免费观看高清完整版在| 国产精一区二区三区| 国产欧美一区二区精品婷婷| av一二三不卡影片| 一区二区三区资源| 欧美日韩一卡二卡三卡| 麻豆精品新av中文字幕| 2023国产一二三区日本精品2022| 国产69精品久久久久毛片| 亚洲精品国产精华液| 在线电影国产精品| 韩国成人精品a∨在线观看| 欧美国产一区在线| 色综合色综合色综合| 日韩专区一卡二卡| xf在线a精品一区二区视频网站| 成人一区二区三区视频| 亚洲精品国产成人久久av盗摄 | 精品亚洲成a人| 国产精品女同一区二区三区| 91国产福利在线| 蜜桃av噜噜一区| 国产精品久久久久一区二区三区共| 97超碰欧美中文字幕| 五月婷婷激情综合| 国产日韩av一区二区| 欧美日韩在线三级| 极品少妇xxxx精品少妇| 亚洲欧美日韩国产一区二区三区 | 国产在线精品国自产拍免费| 亚洲欧美日韩成人高清在线一区| 欧美精品在线一区二区三区| 国产成人精品亚洲日本在线桃色| 一区二区三区高清不卡| 精品国精品国产尤物美女| 色综合久久中文字幕综合网| 久久国产剧场电影| 亚洲自拍偷拍麻豆| 久久免费偷拍视频| 欧美老年两性高潮| 成人av资源在线观看| 六月丁香婷婷久久| 亚洲欧美一区二区久久| 精品福利一区二区三区免费视频| 欧美在线一二三四区| 国产黄色精品网站| 免费三级欧美电影| 亚洲自拍都市欧美小说| 欧美韩日一区二区三区| 日韩免费一区二区| 欧美日韩国产色站一区二区三区| 国产成人精品影视| 激情久久久久久久久久久久久久久久| 夜夜亚洲天天久久| 欧美国产日韩精品免费观看|