lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20080407224133.GA22853@elf.ucw.cz>
Date:	Tue, 8 Apr 2008 00:41:33 +0200
From:	Pavel Machek <pavel@....cz>
To:	kernel list <linux-kernel@...r.kernel.org>, kaszak@...il.com,
	lcostantino@...il.com
Subject: w35und: some more cleanups

Some more cleanups for today. I took a look at transmit/receive paths,
and they seem to be reasonably simple, maybe softmac conversion will
not be that hard to do...?

Signed-off-by: Pavel Machek <pavel@...e.cz>

diff --git a/drivers/net/wireless/winbond/winbondport/linux/wb35reg.c b/drivers/net/wireless/winbond/winbondport/linux/wb35reg.c
index 3fa841f..9809139 100644
--- a/drivers/net/wireless/winbond/winbondport/linux/wb35reg.c
+++ b/drivers/net/wireless/winbond/winbondport/linux/wb35reg.c
@@ -10,7 +10,7 @@ extern void phy_calibration_winbond(hw_d
 // Flag : AUTO_INCREMENT - RegisterNo will auto increment 4
 //		  NO_INCREMENT - Function will write data into the same register
 unsigned char
-Wb35Reg_BurstWrite(  phw_data_t pHwData,  u16 RegisterNo,  PULONG pRegisterData,  u8 NumberOfData,  u8 Flag )
+Wb35Reg_BurstWrite(phw_data_t pHwData, u16 RegisterNo, PULONG pRegisterData, u8 NumberOfData, u8 Flag)
 {
 	PWB35REG pWb35Reg = &pHwData->Wb35Reg;
 	PURB		pUrb = NULL;
@@ -70,7 +70,7 @@ Wb35Reg_BurstWrite(  phw_data_t pHwData,
 }
 
 void
-Wb35Reg_Update(  phw_data_t pHwData,  u16 RegisterNo,  u32 RegisterValue )
+Wb35Reg_Update(phw_data_t pHwData,  u16 RegisterNo,  u32 RegisterValue)
 {
 	PWB35REG	pWb35Reg = &pHwData->Wb35Reg;
 	switch (RegisterNo) {
diff --git a/drivers/net/wireless/winbond/winbondport/linux/wb35rx.c b/drivers/net/wireless/winbond/winbondport/linux/wb35rx.c
index ea70d84..f9d2b82 100644
--- a/drivers/net/wireless/winbond/winbondport/linux/wb35rx.c
+++ b/drivers/net/wireless/winbond/winbondport/linux/wb35rx.c
@@ -26,11 +26,11 @@ void Wb35Rx_start(phw_data_t pHwData)
 // This function cannot reentrain
 void Wb35Rx(  phw_data_t pHwData )
 {
-	PWB35RX		pWb35Rx = &pHwData->Wb35Rx;
-	PUCHAR		pRxBufferAddress;
-	PURB		pUrb = (PURB)pWb35Rx->RxUrb;
-	int		retv;
-	u32		RxBufferId;
+	PWB35RX	pWb35Rx = &pHwData->Wb35Rx;
+	PUCHAR	pRxBufferAddress;
+	PURB	pUrb = (PURB)pWb35Rx->RxUrb;
+	int	retv;
+	u32	RxBufferId;
 
 	//
 	// Issuing URB
@@ -183,14 +183,14 @@ void Wb35Rx_stop(phw_data_t pHwData)
 
 	// Canceling the Irp if already sends it out.
 	if (pWb35Rx->EP3vm_state == VM_RUNNING) {
-		usb_unlink_urb( pWb35Rx->RxUrb ); // Only use unlink, let Wb35Rx_destrot to free them
+		usb_unlink_urb( pWb35Rx->RxUrb ); // Only use unlink, let Wb35Rx_destroy to free them
 		#ifdef _PE_RX_DUMP_
 		WBDEBUG(("EP3 Rx stop\n"));
 		#endif
 	}
 }
 
-// Only can be run in passive-level
+// Needs process context
 void Wb35Rx_destroy(phw_data_t pHwData)
 {
 	PWB35RX pWb35Rx = &pHwData->Wb35Rx;
@@ -200,7 +200,7 @@ void Wb35Rx_destroy(phw_data_t pHwData)
 	} while (pWb35Rx->EP3vm_state != VM_STOP);
 	OS_SLEEP(10000); // Delay for waiting function exit 940623.1.b
 
-	if( pWb35Rx->RxUrb )
+	if (pWb35Rx->RxUrb)
 		usb_free_urb( pWb35Rx->RxUrb );
 	#ifdef _PE_RX_DUMP_
 	WBDEBUG(("Wb35Rx_destroy OK\n"));
diff --git a/drivers/net/wireless/winbond/winbondport/linux/wb35tx.c b/drivers/net/wireless/winbond/winbondport/linux/wb35tx.c
index 401ddbf..a5b26ec 100644
--- a/drivers/net/wireless/winbond/winbondport/linux/wb35tx.c
+++ b/drivers/net/wireless/winbond/winbondport/linux/wb35tx.c
@@ -25,9 +25,9 @@ void Wb35Tx_start(phw_data_t pHwData)
 	PWB35TX pWb35Tx = &pHwData->Wb35Tx;
 
 	// Allow only one thread to run into function
-	if( OS_ATOMIC_INC( pHwData->Adapter, &pWb35Tx->TxFireCounter ) == 1 ) {
+	if (OS_ATOMIC_INC(pHwData->Adapter, &pWb35Tx->TxFireCounter) == 1) {
 		pWb35Tx->EP4vm_state = VM_RUNNING;
-		Wb35Tx( pHwData );
+		Wb35Tx(pHwData);
 	} else
 		OS_ATOMIC_DEC( pHwData->Adapter, &pWb35Tx->TxFireCounter );
 }
@@ -39,56 +39,55 @@ void Wb35Tx(phw_data_t pHwData)
 	PADAPTER	Adapter = pHwData->Adapter;
 	PUCHAR		pTxBufferAddress;
 	PMDS		pMds = &Adapter->Mds;
-	PURB		pUrb = (PURB)pWb35Tx->Tx4Urb;
+	struct urb *		pUrb = (struct urb *)pWb35Tx->Tx4Urb;
 	int         retv;
 	u32		SendIndex;
 
 
-	do {
-		if (pHwData->SurpriseRemove || pHwData->HwStop)
-			break;
-
-		if (pWb35Tx->tx_halt)
-			break;
-
-		// Ownership checking
-		SendIndex = pWb35Tx->TxSendIndex;
-		if (!pMds->TxOwner[SendIndex]) //No more data need to be sent, return immediately
-			break;
-
-		pTxBufferAddress = pWb35Tx->TxBuffer[SendIndex];
-		//
-		// Issuing URB
-		//
-		usb_fill_bulk_urb(pUrb, pHwData->WbUsb.udev,
-				  usb_sndbulkpipe(pHwData->WbUsb.udev, 4),
-				  pTxBufferAddress, pMds->TxBufferSize[ SendIndex ],
-				  Wb35Tx_complete, pHwData);
-
-		pWb35Tx->EP4vm_state = VM_RUNNING;
-		retv = wb_usb_submit_urb( pUrb );
-		if (retv<0) {
-			#ifdef _PE_TX_DUMP_
-			WBDEBUG(("EP4 Tx Irp sending error\n"));
-			#endif
-			break;
-		}
+	if (pHwData->SurpriseRemove || pHwData->HwStop)
+		goto cleanup;
+
+	if (pWb35Tx->tx_halt)
+		goto cleanup;
+
+	// Ownership checking
+	SendIndex = pWb35Tx->TxSendIndex;
+	if (!pMds->TxOwner[SendIndex]) //No more data need to be sent, return immediately
+		goto cleanup;
+
+	pTxBufferAddress = pWb35Tx->TxBuffer[SendIndex];
+	//
+	// Issuing URB
+	//
+	usb_fill_bulk_urb(pUrb, pHwData->WbUsb.udev,
+			  usb_sndbulkpipe(pHwData->WbUsb.udev, 4),
+			  pTxBufferAddress, pMds->TxBufferSize[ SendIndex ],
+			  Wb35Tx_complete, pHwData);
+
+	pWb35Tx->EP4vm_state = VM_RUNNING;
+	retv = wb_usb_submit_urb( pUrb );
+	if (retv<0) {
+#ifdef _PE_TX_DUMP_
+		WBDEBUG(("EP4 Tx Irp sending error\n"));
+#endif
+		goto cleanup;
+	}
 
-		// Check if driver needs issue Irp for EP2
-		pWb35Tx->TxFillCount += pMds->TxCountInBuffer[SendIndex];
-		if( pWb35Tx->TxFillCount > 12 ) // Fixed to 12. 20060928
-			Wb35Tx_EP2VM_start( pHwData );
+	// Check if driver needs issue Irp for EP2
+	pWb35Tx->TxFillCount += pMds->TxCountInBuffer[SendIndex];
+	if( pWb35Tx->TxFillCount > 12 ) // Fixed to 12. 20060928
+		Wb35Tx_EP2VM_start( pHwData );
 
-		pWb35Tx->ByteTransfer += pMds->TxBufferSize[SendIndex];
-		return;
-	} while(FALSE);
+	pWb35Tx->ByteTransfer += pMds->TxBufferSize[SendIndex];
+	return;
 
+ cleanup:
 	pWb35Tx->EP4vm_state = VM_STOP;
 	OS_ATOMIC_DEC( pHwData->Adapter, &pWb35Tx->TxFireCounter );
 }
 
 
-void Wb35Tx_complete(  PURB pUrb )
+void Wb35Tx_complete(struct urb * pUrb)
 {
 	phw_data_t	pHwData = pUrb->context;
 	PADAPTER	Adapter = (PADAPTER)pHwData->Adapter;
@@ -232,8 +231,8 @@ void Wb35Tx_EP2VM_start(  phw_data_t pHw
 
 void Wb35Tx_EP2VM(phw_data_t pHwData)
 {
-    PWB35TX pWb35Tx = &pHwData->Wb35Tx;
-    PURB	pUrb = (PURB)pWb35Tx->Tx2Urb;
+	PWB35TX pWb35Tx = &pHwData->Wb35Tx;
+	struct urb *	pUrb = (struct urb *)pWb35Tx->Tx2Urb;
 	PULONG	pltmp = (PULONG)pWb35Tx->EP2_buf;
 	int		retv;
 
@@ -275,7 +274,7 @@ void Wb35Tx_EP2VM(phw_data_t pHwData)
 }
 
 
-void Wb35Tx_EP2VM_complete(  PURB pUrb )
+void Wb35Tx_EP2VM_complete(struct urb * pUrb)
 {
 	phw_data_t	pHwData = pUrb->context;
 	T02_DESCRIPTOR	T02, TSTATUS;
@@ -290,8 +289,7 @@ void Wb35Tx_EP2VM_complete(  PURB pUrb )
 	pWb35Tx->EP2vm_state = VM_COMPLETED;
 	pWb35Tx->EP2VM_status = pUrb->status;
 
-	do
-	{
+	do {
 		// For Linux 2.4. Interrupt will always trigger
 		if( pHwData->SurpriseRemove || pHwData->HwStop ) // Let WbWlanHalt to handle surprise remove
 			break;
diff --git a/drivers/net/wireless/winbond/winbondport/linux/wbusb.c b/drivers/net/wireless/winbond/winbondport/linux/wbusb.c
index 4a980e6..62d3e49 100644
--- a/drivers/net/wireless/winbond/winbondport/linux/wbusb.c
+++ b/drivers/net/wireless/winbond/winbondport/linux/wbusb.c
@@ -130,10 +130,6 @@ int wb35_probe( struct usb_interface *in
 		pWbUsb = &Adapter->sHwData.WbUsb;
 		pWbUsb->udev = udev;
 
-		//set the interface name for this device.
-		//dev_alloc_name(	netdev, "wlan%d");
-
-
 	        //Cambiado
 	        interface = intf->cur_altsetting;
 	        endpoint = &interface->endpoint[0].desc;
diff --git a/drivers/net/wireless/winbond/winbondport/linux/wbusb_s.h b/drivers/net/wireless/winbond/winbondport/linux/wbusb_s.h
index 7a775c0..74d72bd 100644
--- a/drivers/net/wireless/winbond/winbondport/linux/wbusb_s.h
+++ b/drivers/net/wireless/winbond/winbondport/linux/wbusb_s.h
@@ -12,7 +12,7 @@
 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
 #define OS_SLEEP( _MT )	{ set_current_state(TASK_INTERRUPTIBLE); \
-							  schedule_timeout( _MT*HZ/1000000 ); }
+			  schedule_timeout( _MT*HZ/1000000 ); }
 
 
 //---------------------------------------------------------------------------
@@ -22,7 +22,7 @@ #define OS_SLEEP( _MT )	{ set_current_st
 //---------------------------------------------------------------------------
 typedef struct _RW_CONTEXT
 {
-    void*			pHwData;
+	void*			pHwData;
 	PURB			pUrb;
 	void*			pCallBackFunctionParameter;
 } RW_CONTEXT, *PRW_CONTEXT;
@@ -30,27 +30,13 @@ typedef struct _RW_CONTEXT
 
 
 
-#define DRIVER_AUTHOR 			"Original by: Jeff Lee<YY_Lee@...c.com.tw> Adapted to 2.6.x by Costantino Leandro (Rxart Desktop) <le_costantino@...artargentina.com.ar>"
-#define DRIVER_DESC				"IS89C35 802.11bg WLAN USB Driver"
+#define DRIVER_AUTHOR "Original by: Jeff Lee<YY_Lee@...c.com.tw> Adapted to 2.6.x by Costantino Leandro (Rxart Desktop) <le_costantino@...artargentina.com.ar>"
+#define DRIVER_DESC   "IS89C35 802.11bg WLAN USB Driver"
 
 
 
-typedef struct _WBUSB
-{
-	// Is USB 2.0
+typedef struct _WBUSB {
 	u32	IsUsb20;
-	struct usb_device *			udev;
+	struct usb_device *udev;
 	u32	DetectCount;
-
 } WBUSB, *PWBUSB;
-
-#if 0 //some Linux don't have usb_ctrlrequest  
-struct usb_ctrlrequest {
-                __u8 bRequestType;
-                __u8 bRequest;
-                __u16 wValue;
-                __u16 wIndex;
-                __u16 wLength;
-} __attribute__ ((packed));
-#endif 
-
diff --git a/drivers/net/wireless/winbond/winbondport/mds.c b/drivers/net/wireless/winbond/winbondport/mds.c
index 3cb7d4a..2d06cd9 100644
--- a/drivers/net/wireless/winbond/winbondport/mds.c
+++ b/drivers/net/wireless/winbond/winbondport/mds.c
@@ -43,7 +43,7 @@ Mds_Tx(PADAPTER Adapter)
 	PUCHAR		XmitBufAddress;
 	u16		XmitBufSize, PacketSize, stmp, CurrentSize, FragmentThreshold;
 	u8		FillIndex, TxDesIndex, PacketFrom, FragmentCount, FillCount;
-	unsigned char		BufferFilled = FALSE, MICAdd;
+	unsigned char	BufferFilled = FALSE, MICAdd;
 
 
 	//931130.5.a
@@ -54,14 +54,11 @@ Mds_Tx(PADAPTER Adapter)
 		return;
 
 	//Only one thread can be run here
-	if( OS_ATOMIC_INC( Adapter, &pMds->TxThreadCount ) == 1 )
-	{
+	if (OS_ATOMIC_INC( Adapter, &pMds->TxThreadCount) == 1)	{
 		// Start to fill the data
-		do
-		{
+		do {
 			FillIndex = pMds->TxFillIndex;
-			if( pMds->TxOwner[FillIndex] ) // Is owned by software 0:Yes 1:No
-			{
+			if (pMds->TxOwner[FillIndex]) { // Is owned by software 0:Yes 1:No
 				#ifdef _PE_TX_DUMP_
 				WBDEBUG(("[Mds_Tx] Tx Owner is H/W.\n"));
 				#endif
@@ -71,25 +68,22 @@ Mds_Tx(PADAPTER Adapter)
 			XmitBufAddress = pMds->pTxBuffer + (MAX_USB_TX_BUFFER * FillIndex); //Get buffer
 			XmitBufSize = 0;
 			FillCount = 0;
-			do
-			{
+			do {
 				// Sending packet path
 				PacketFrom = 1;
 				PacketSize = QUERY_SIZE_FIRST( Adapter );
-				if( !PacketSize )
-				{
+				if (!PacketSize) {
 					if( !TS_RUNNING_IN_TESTSTA_MODE ) // If driver doesn't run in test mode, send MLME and normal data frame
 					{
 						PacketFrom = 2;
-						PacketSize = QUERY_SIZE_SECOND( Adapter );
-						if( !PacketSize )
-						{
+						PacketSize = QUERY_SIZE_SECOND(Adapter);
+						if( !PacketSize ) {
 							if( pMds->ScanTxPause )	//No management frames to transmit.
 								break;				//The scanning is progressing, so stop the data
 												//frames transmission
 							PacketFrom = 3;
 							PacketSize = QUERY_SIZE_THIRD( Adapter );
-							if( !PacketSize )
+							if (!PacketSize)
 								break;
 						}
 					}
@@ -102,8 +96,7 @@ Mds_Tx(PADAPTER Adapter)
 				//931130.5.b
 				FragmentCount = PacketSize/FragmentThreshold + 1;
 				stmp = PacketSize + FragmentCount*32 + 8;//931130.5.c 8:MIC
-				if( (XmitBufSize + stmp) >= MAX_USB_TX_BUFFER )
-				{
+				if ((XmitBufSize + stmp) >= MAX_USB_TX_BUFFER) {
 					#ifdef _PE_TX_DUMP_
 					WBDEBUG(("[Mds_Tx] Excess max tx buffer.\n"));
 					#endif
@@ -124,19 +117,18 @@ Mds_Tx(PADAPTER Adapter)
 				pMds->TxDesIndex %= MAX_USB_TX_DESCRIPTOR;
 
 				// Get packet to transmit, 1:TESTSTA 2:MLME 3: Ndis data
-				if( PacketFrom == 3 )
+				if (PacketFrom == 3)
 					{ GET_DESCRIPTOR_THIRD( Adapter, pTxDes ); }
-				else if( PacketFrom == 2 )
+				else if (PacketFrom == 2)
 					{ GET_DESCRIPTOR_SECOND( Adapter, pTxDes ); }
-				else if( PacketFrom == 1 )
+				else if (PacketFrom == 1)
 					{ GET_DESCRIPTOR_FIRST( Adapter, pTxDes ); }
 
 				// Copy header. 8byte USB + 24byte 802.11Hdr. Set TxRate, Preamble type
 				Mds_HeaderCopy( Adapter, pTxDes, XmitBufAddress );
 
 				// For speed up Key setting
-				if( pTxDes->EapFix )
-				{
+				if (pTxDes->EapFix) {
 					#ifdef _PE_TX_DUMP_
 					WBDEBUG(("35: EPA 4th frame detected. Size = %d\n", PacketSize));
 					#endif
@@ -146,8 +138,7 @@ Mds_Tx(PADAPTER Adapter)
 				//
 				// Add MIC redundant 8 byte in pTxDes, assume that TKIP encryption and wep bit = 1
 				MICAdd = (CURRENT_ENCRYPT_STATUS==ENCRYPT_TKIP) && (XmitBufAddress[9]&0x40);
-				if( MICAdd )
-				{
+				if (MICAdd) {
 					pMds->MicAdd = 8;
 					pMds->MicWriteIndex = 0;
 					DESCRIPTOR_ADD_BUFFER( pTxDes, pMds->MicRedundant, 8 );
@@ -176,17 +167,16 @@ Mds_Tx(PADAPTER Adapter)
 
 				//---------------------
 				//Check Power save
-				if (psSME->bDesiredPowerSave)
-				{
+				if (psSME->bDesiredPowerSave) {
 					if ((psLOCAL->wConnectedSTAindex == 0) ||
-							((psLOCAL->wConnectedSTAindex != 0) &&
-								 (psBSS(psLOCAL->wConnectedSTAindex)->bBssType == ESS_NET)))
+					    ((psLOCAL->wConnectedSTAindex != 0) &&
+					     (psBSS(psLOCAL->wConnectedSTAindex)->bBssType == ESS_NET)))
 					{
 						psLOCAL->boHasTxActivity = 1;
 						if (psLOCAL->iPowerSaveMode == PWR_SAVE)
 						{
 							K_MSG	sSmeMsg;
-							u8		PsMode;
+							u8	PsMode;
 
 							//wake up the H/W
 							PsMode =  PWR_ACTIVE;
@@ -199,8 +189,7 @@ Mds_Tx(PADAPTER Adapter)
 
 				#ifdef _PE_TX_DUMP_
 				WBDEBUG((">>Send MSDU\n"));
-				if (XmitBufSize > 0)
-				{
+				if (XmitBufSize > 0) {
 					PUCHAR ptr;
 
 					ptr = pMds->pTxBuffer + (MAX_USB_TX_BUFFER * FillIndex);
@@ -210,11 +199,11 @@ Mds_Tx(PADAPTER Adapter)
 				#endif
 
 				// Get packet to transmit completed, 1:TESTSTA 2:MLME 3: Ndis data
-				if( PacketFrom == 3 )
+				if (PacketFrom == 3)
 					{ GET_DESCRIPTOR_THIRD_COMPLETED( Adapter, pTxDes ); }
-				else if( PacketFrom == 2 )
+				else if (PacketFrom == 2)
 					{ GET_DESCRIPTOR_SECOND_COMPLETED( Adapter, pTxDes ); }
-				else if( PacketFrom == 1 )
+				else if (PacketFrom == 1)
 					{ GET_DESCRIPTOR_FIRST_COMPLETED( Adapter, pTxDes ); }
 
 				// Software TSC count 20060214
@@ -224,11 +213,10 @@ Mds_Tx(PADAPTER Adapter)
 
 				FillCount++; // 20060928
 
-			}while( HAL_USB_MODE_BURST(pHwData) );// End of multiple MSDU copy loop. FALSE = single TRUE = multiple sending
+			} while (HAL_USB_MODE_BURST(pHwData)); // End of multiple MSDU copy loop. FALSE = single TRUE = multiple sending
 
 			// Move to the next one, if necessary
-			if( BufferFilled )
-			{
+			if (BufferFilled) {
 				// size setting
 				pMds->TxBufferSize[ FillIndex ] = XmitBufSize;
 
@@ -245,16 +233,16 @@ Mds_Tx(PADAPTER Adapter)
 			else
 				break;
 
-			if( !PacketSize )// No more pk for transmitting
+			if (!PacketSize) // No more pk for transmitting
 				break;
 
-		}while(TRUE);
+		} while(TRUE);
 
 		//
 		// Start to send by lower module
 		//
-		if( !pHwData->IsKeyPreSet )
-			Wb35Tx_start( pHwData );
+		if (!pHwData->IsKeyPreSet)
+			Wb35Tx_start(pHwData);
 	}
 
 	OS_ATOMIC_DEC( Adapter, &pMds->TxThreadCount );
diff --git a/drivers/net/wireless/winbond/winbondport/reg.c b/drivers/net/wireless/winbond/winbondport/reg.c
index 34d963a..2a30f32 100644
--- a/drivers/net/wireless/winbond/winbondport/reg.c
+++ b/drivers/net/wireless/winbond/winbondport/reg.c
@@ -1043,10 +1043,8 @@ void Set_ChanIndep_RfData_al7230_50(  ph
 // RFSynthesizer_initial --
 //=============================================================================================================
 void
-RFSynthesizer_initial(  phw_data_t pHwData )
+RFSynthesizer_initial(phw_data_t pHwData)
 {
-//	PADAPTER Adapter = pHwData->Adapter;
-//	PWB35REG pWb35Reg = &pHwData->Wb35Reg;
 	u32	altmp[32];
 	PULONG	pltmp = altmp;
 	u32	ltmp;
diff --git a/drivers/net/wireless/winbond/winbondport/sme_api.c b/drivers/net/wireless/winbond/winbondport/sme_api.c
index b0726dd..00cb7f0 100644
--- a/drivers/net/wireless/winbond/winbondport/sme_api.c
+++ b/drivers/net/wireless/winbond/winbondport/sme_api.c
@@ -27,8 +27,7 @@ s8 sme_get_bssid(void *pcore_data, u8 *p
 {
 	PWB32_ADAPTER	Adapter = (PWB32_ADAPTER)pcore_data;
 
-	if(psLOCAL->wConnectedSTAindex)
-	{
+	if(psLOCAL->wConnectedSTAindex) {
 		memcpy( pbssid, psBSS(psLOCAL->wConnectedSTAindex)->abBssID, MAC_ADDR_LENGTH );
 		return 0;
 	}
@@ -39,7 +38,7 @@ s8 sme_get_desired_bssid(void *pcore_dat
 {
 	PWB32_ADAPTER	Adapter = (PWB32_ADAPTER)pcore_data;
 
-	memcpy( pbssid, psSME->abDesiredBSSID, MAC_ADDR_LENGTH );
+	memcpy(pbssid, psSME->abDesiredBSSID, MAC_ADDR_LENGTH);
 	return 0;
 } 
 
@@ -47,7 +46,7 @@ s8 sme_set_desired_bssid(void *pcore_dat
 {
 	PWB32_ADAPTER	Adapter = (PWB32_ADAPTER)pcore_data;
 
-	memcpy( psSME->abDesiredBSSID, pbssid, MAC_ADDR_LENGTH );
+	memcpy(psSME->abDesiredBSSID, pbssid, MAC_ADDR_LENGTH);
 	return 0;
 }
 
@@ -55,8 +54,7 @@ s8 sme_get_ssid(void *pcore_data, u8 *ps
 {
 	PWB32_ADAPTER Adapter = (PWB32_ADAPTER)pcore_data;
 
-	if(psLOCAL->wConnectedSTAindex)
-	{
+	if(psLOCAL->wConnectedSTAindex)	{
 		*pssid_len = psBSS(psLOCAL->wConnectedSTAindex)->SSID.Length;
 		memcpy( pssid, psBSS(psLOCAL->wConnectedSTAindex)->SSID.SSID, *pssid_len );
 		return 0;
@@ -225,8 +223,7 @@ s8 sme_get_atim_window(void *pcore_data,
 {
 	PWB32_ADAPTER Adapter = (PWB32_ADAPTER)pcore_data;
 
-	if(psLOCAL->wConnectedSTAindex)
-	{
+	if (psLOCAL->wConnectedSTAindex) {
 		*patim_window = *(u16 *)psBSS(psLOCAL->wConnectedSTAindex)->IBSS_Parameter_Set.ATIM_Window;
 		return 0;
 	}
@@ -245,8 +242,7 @@ s8 sme_get_current_channel(void *pcore_d
 {
 	PWB32_ADAPTER Adapter = (PWB32_ADAPTER)pcore_data;
 
-	if(psLOCAL->wConnectedSTAindex)
-	{
+	if (psLOCAL->wConnectedSTAindex) {
 		*pcurrent_channel = psBSS(psLOCAL->wConnectedSTAindex)->DS_Parameter_Set.Current_Channel;
 		return 0;
 	}
@@ -257,8 +253,7 @@ s8 sme_get_current_band(void *pcore_data
 {
 	PWB32_ADAPTER Adapter = (PWB32_ADAPTER)pcore_data;
 
-	if(psLOCAL->wConnectedSTAindex)
-	{
+	if (psLOCAL->wConnectedSTAindex) {
 		*pcurrent_band = psBSS(psLOCAL->wConnectedSTAindex)->band;
 		return 0;
 	}
@@ -267,9 +262,6 @@ s8 sme_get_current_band(void *pcore_data
 
 s8 sme_set_current_channel(void *pcore_data, u8 current_channel)
 {
-	//PWB32_ADAPTER Adapter = (PWB32_ADAPTER)pcore_data;
-
-	//psSME->bCurrentChannel = current_channel;
 	return 0;
 }
 
@@ -295,8 +287,7 @@ s8 sme_get_connected_bss(void *pcore_dat
 {
 	PWB32_ADAPTER Adapter = (PWB32_ADAPTER)pcore_data;
 
-	if(psLOCAL->wConnectedSTAindex)
-	{
+	if(psLOCAL->wConnectedSTAindex)	{
 		*ppbss_now = psBSS(psLOCAL->wConnectedSTAindex);
 		return 0;
 	}
@@ -319,32 +310,6 @@ s8 sme_set_auth_mode(void *pcore_data, u
 	return 0;
 }
 
-//replace by sme_get_encryption_status and sme_set_encryption_status
-/*
-s8 sme_get_wep_mode(void *pcore_data, u8 *pwep_mode)
-{
-	PWB32_ADAPTER Adapter = (PWB32_ADAPTER)pcore_data;
-
-	*pwep_mode = psSME->_dot11PrivacyInvoked;
-	return 0;
-}
-
-s8 sme_set_wep_mode(void *pcore_data, u8 wep_mode)
-{
-	PWB32_ADAPTER Adapter = (PWB32_ADAPTER)pcore_data;
-
-	psSME->_dot11PrivacyInvoked           = wep_mode;
-	psSME->_dot11PrivacyOptionImplemented = wep_mode;
-	if(wep_mode)
-		psSME->_WEPKeyLength = (psSME->key_length==5) ? WEPKEY_64 : WEPKEY_128;
-	else
-		psSME->_WEPKeyLength = WEPKEY_DISABLED;
-
-	//??clear WEP table or not because WEP mode change??
-	return 0;
-}
-*/
-
 s8 sme_set_add_wep(void *pcore_data, u32 key_index, u32 key_len,
 					u8 *address, u8 *key)
 {
@@ -353,8 +318,7 @@ s8 sme_set_add_wep(void *pcore_data, u32
 	s8 ret = -1;
 	u8		key_type;
 
-	do
-	{
+	do {
 		#ifdef _PE_STATE_DUMP_
 		WBDEBUG(("OID Key idx =[%x] length = %d Content = ", key_index, key_len));
 		for(i=0; i<key_len; i++)
diff --git a/drivers/net/wireless/winbond/winbondport/wblinux.c b/drivers/net/wireless/winbond/winbondport/wblinux.c
index f095534..9220e80 100644
--- a/drivers/net/wireless/winbond/winbondport/wblinux.c
+++ b/drivers/net/wireless/winbond/winbondport/wblinux.c
@@ -12,7 +12,7 @@ #include "os_common.h"
 #include "linux/new_wireless.h"
 
 u32
-WBLINUX_MemoryAlloc(  void* *VirtualAddress,  u32 Length )
+WBLINUX_MemoryAlloc(void* *VirtualAddress, u32 Length)
 {
 	*VirtualAddress = kmalloc( Length, GFP_ATOMIC ); //GFP_KERNEL is not suitable
 
@@ -22,20 +22,20 @@ WBLINUX_MemoryAlloc(  void* *VirtualAddr
 }
 
 s32
-  EncapAtomicInc(  PADAPTER Adapter,  void* pAtomic )
+EncapAtomicInc(  PADAPTER Adapter,  void* pAtomic )
 {
-   PWBLINUX	pWbLinux = &Adapter->WbLinux;
-   u32	ltmp;
-   PULONG	pltmp = (PULONG)pAtomic;
-   OS_SPIN_LOCK_ACQUIRED( &pWbLinux->AtomicSpinLock );
-   (*pltmp)++;
-   ltmp = (*pltmp);
-   OS_SPIN_LOCK_RELEASED( &pWbLinux->AtomicSpinLock );
-   return ltmp;
+	PWBLINUX	pWbLinux = &Adapter->WbLinux;
+	u32	ltmp;
+	PULONG	pltmp = (PULONG)pAtomic;
+	OS_SPIN_LOCK_ACQUIRED( &pWbLinux->AtomicSpinLock );
+	(*pltmp)++;
+	ltmp = (*pltmp);
+	OS_SPIN_LOCK_RELEASED( &pWbLinux->AtomicSpinLock );
+	return ltmp;
 }
 
 s32
-  EncapAtomicDec(  PADAPTER Adapter,  void* pAtomic )
+EncapAtomicDec(  PADAPTER Adapter,  void* pAtomic )
 {
    PWBLINUX	pWbLinux = &Adapter->WbLinux;
    u32	ltmp;
@@ -48,137 +48,128 @@ s32
 }
 
 unsigned char
-  WBLINUX_Initial(  PADAPTER Adapter )
+WBLINUX_Initial(  PADAPTER Adapter )
 {
-   PWBLINUX pWbLinux = &Adapter->WbLinux;
+	PWBLINUX pWbLinux = &Adapter->WbLinux;
 
-   OS_SPIN_LOCK_ALLOCATE( &pWbLinux->SpinLock );
-   OS_SPIN_LOCK_ALLOCATE( &pWbLinux->AtomicSpinLock );
-   pWbLinux->netdev->open = wb35_open;
-   pWbLinux->netdev->stop = wb35_close;
-   pWbLinux->netdev->hard_start_xmit = wb35_start_xmit;
-   pWbLinux->netdev->set_multicast_list = wb35_set_multicast;
-   pWbLinux->netdev->get_stats = wb35_netdev_stats;
-   pWbLinux->netdev->wireless_handlers = (struct iw_handler_def *)&test_iw_handlers;
+	OS_SPIN_LOCK_ALLOCATE( &pWbLinux->SpinLock );
+	OS_SPIN_LOCK_ALLOCATE( &pWbLinux->AtomicSpinLock );
+	pWbLinux->netdev->open = wb35_open;
+	pWbLinux->netdev->stop = wb35_close;
+	pWbLinux->netdev->hard_start_xmit = wb35_start_xmit;
+	pWbLinux->netdev->set_multicast_list = wb35_set_multicast;
+	pWbLinux->netdev->get_stats = wb35_netdev_stats;
+	pWbLinux->netdev->wireless_handlers = (struct iw_handler_def *)&test_iw_handlers;
 
-   return TRUE;
+	return TRUE;
 }
 
 void
-  WBLinux_ReceivePacket(  PADAPTER Adapter,  PRXLAYER1 pRxLayer1 )
+WBLinux_ReceivePacket(PADAPTER Adapter, PRXLAYER1 pRxLayer1)
 {
-   PWBLINUX pWbLinux = &Adapter->WbLinux;
-   struct sk_buff *skb = NULL;
-   PUCHAR		BufAddr;
-   u32		ByteCount = 0;
-   u32		i;
-   u16		BufSize;
-
-   for( i=0; i<pRxLayer1->BufferNumber; i++ )
-     {
-	BufSize = pRxLayer1->BufferQueue[i].BufferSize;
-	ByteCount += BufSize;
-     }
+	PWBLINUX pWbLinux = &Adapter->WbLinux;
+	struct sk_buff *skb = NULL;
+	PUCHAR		BufAddr;
+	u32		ByteCount = 0;
+	u32		i;
+	u16		BufSize;
+
+	for( i=0; i<pRxLayer1->BufferNumber; i++ ) {
+		BufSize = pRxLayer1->BufferQueue[i].BufferSize;
+		ByteCount += BufSize;
+	}
 #ifdef _PE_RX_DUMP_
-   WBDEBUG(( "[w35und]---> Rx total length =%d BuffNum=%d\n", ByteCount, pRxLayer1->BufferNumber ));
+	WBDEBUG(( "[w35und]---> Rx total length =%d BuffNum=%d\n", ByteCount, pRxLayer1->BufferNumber ));
 #endif
 
-   if( (skb = dev_alloc_skb( ByteCount + 2 )) != NULL )
-     {
-        skb->dev = pWbLinux->netdev;
-        skb_reserve( skb, 2 );
+	if ((skb = dev_alloc_skb( ByteCount + 2 )) != NULL) {
+		skb->dev = pWbLinux->netdev;
+		skb_reserve( skb, 2 );
         
-	for( i=0; i<pRxLayer1->BufferNumber; i++ )
-	  {
-	     BufSize = pRxLayer1->BufferQueue[i].BufferSize;
-	     BufAddr = pRxLayer1->BufferQueue[i].pBufferAddress;
-	     // I Think this fits better - Scythe - 
-	     memcpy(skb->data,BufAddr,BufSize);
-	     skb_put( skb, BufSize );
-	  }
-
-        skb->protocol = eth_type_trans( skb, pWbLinux->netdev );
-
-        netif_rx( skb );
-        pWbLinux->netdev->last_rx = jiffies;
-	pWbLinux->stats.rx_packets ++;
-	pWbLinux->stats.rx_bytes += ByteCount;
-     }
-   else
-     {
+		for (i=0; i<pRxLayer1->BufferNumber; i++) {
+			BufSize = pRxLayer1->BufferQueue[i].BufferSize;
+			BufAddr = pRxLayer1->BufferQueue[i].pBufferAddress;
+			// I Think this fits better - Scythe - 
+			memcpy(skb->data, BufAddr, BufSize);
+			skb_put( skb, BufSize );
+		}
+
+		skb->protocol = eth_type_trans( skb, pWbLinux->netdev );
+
+		netif_rx( skb );
+		pWbLinux->netdev->last_rx = jiffies;
+		pWbLinux->stats.rx_packets ++;
+		pWbLinux->stats.rx_bytes += ByteCount;
+	} else {
 #ifdef _PE_RX_DUMP_
-	WBDEBUG(( "[w35und]RX SKB ALLOCATE IS FAILED !\n" ));
+		WBDEBUG(( "[w35und]RX SKB ALLOCATE IS FAILED !\n" ));
 #endif
-     }
+	}
 }
 
-int wb35_start_xmit( struct sk_buff *skb, struct net_device *netdev )
+int wb35_start_xmit(struct sk_buff *skb, struct net_device *netdev)
 {
-   PADAPTER	Adapter = netdev->priv;
-   PWBLINUX	pWbLinux = &Adapter->WbLinux;
-   PUCHAR		pBufAddress = (PUCHAR)skb->data;
-   unsigned char		IsStop = FALSE;
+	PADAPTER	Adapter = netdev->priv;
+	PWBLINUX	pWbLinux = &Adapter->WbLinux;
+	PUCHAR		pBufAddress = (PUCHAR)skb->data;
+	unsigned char		IsStop = FALSE;
 
 #ifdef _PE_TX_DUMP_
-   WBDEBUG(( "[w35und]wb35_start_xmit->\n" ));
-   WBDEBUG(( "[w35und]skb=%x size=%d\n", skb, skb->len ));
+	WBDEBUG(( "[w35und]wb35_start_xmit->\n" ));
+	WBDEBUG(( "[w35und]skb=%x size=%d\n", skb, skb->len ));
 #endif
 
-   // Basic check ---------------------------------------------------
-   if( !skb || (skb->len<(DOT_3_TYPE_OFFSET+2)) || pWbLinux->shutdown || !CURRENT_LINK_ON ||
-       (
+	// Basic check ---------------------------------------------------
+	if (!skb || (skb->len<(DOT_3_TYPE_OFFSET+2)) || pWbLinux->shutdown || !CURRENT_LINK_ON ||
+	    (
 #ifdef _WPA2_
-	CURRENT_DESIRED_WPA2_ENABLE &&
-#endif //end def _WPA2_
-	CURRENT_DESIRED_WPA_ENABLE && CURRENT_CONTROL_PORT_BLOCK && (*(PUSHORT)(pBufAddress+12) != cpu_to_le16(0x8e88)) ) || \
-			((psLOCAL->RadioOffStatus.boHwRadioOff == TRUE) || (psLOCAL->RadioOffStatus.boSwRadioOff == TRUE)) )
-     {
+		    CURRENT_DESIRED_WPA2_ENABLE &&
+#endif
+		    CURRENT_DESIRED_WPA_ENABLE && CURRENT_CONTROL_PORT_BLOCK && (*(PUSHORT)(pBufAddress+12) != cpu_to_le16(0x8e88)) ) || \
+	    ((psLOCAL->RadioOffStatus.boHwRadioOff == TRUE) || (psLOCAL->RadioOffStatus.boSwRadioOff == TRUE))) {
 #ifdef _PE_TX_DUMP_
-	WBDEBUG(( "[w35und] wb35_start_xmit SK_BUFF IS NOT OK ! len=%d\n", skb->len ));
+		WBDEBUG(( "[w35und] wb35_start_xmit SK_BUFF IS NOT OK ! len=%d\n", skb->len ));
 #endif
-        dev_kfree_skb( skb );
-	return 0; // Ignore this packet
-     }
-
-   // Check room space ---------------------------------------------
-   if( pWbLinux->skb_array[ pWbLinux->skb_SetIndex ] )
-     return -EBUSY;
-
-   // Storing skb into skb_array and move point --------------------
-   pWbLinux->skb_array[ pWbLinux->skb_SetIndex ] = skb;
-   pWbLinux->skb_SetIndex++;
-   pWbLinux->skb_SetIndex %= WBLINUX_PACKET_ARRAY_SIZE;
-
-   // Does driver need to stop OS sending?
-   if( (pWbLinux->skb_array[pWbLinux->skb_SetIndex]!=NULL) && !pWbLinux->netif_state_stop )
-     {
-	OS_SPIN_LOCK_ACQUIRED( &pWbLinux->SpinLock );
-	if( !pWbLinux->netif_state_stop )
-	  {
-	     pWbLinux->netif_state_stop = 1;
-	     IsStop = TRUE;
-	  }
-	OS_SPIN_LOCK_RELEASED( &pWbLinux->SpinLock );
-
-	if( IsStop )
-	  {
+		dev_kfree_skb( skb );
+		return 0; // Ignore this packet
+	}
+
+	// Check room space ---------------------------------------------
+	if (pWbLinux->skb_array[pWbLinux->skb_SetIndex])
+		return -EBUSY;
+
+	// Storing skb into skb_array and move point --------------------
+	pWbLinux->skb_array[ pWbLinux->skb_SetIndex ] = skb;
+	pWbLinux->skb_SetIndex++;
+	pWbLinux->skb_SetIndex %= WBLINUX_PACKET_ARRAY_SIZE;
+
+	// Does driver need to stop OS sending?
+	if ((pWbLinux->skb_array[pWbLinux->skb_SetIndex]!=NULL) && !pWbLinux->netif_state_stop) {
+		OS_SPIN_LOCK_ACQUIRED( &pWbLinux->SpinLock );
+		if (!pWbLinux->netif_state_stop) {
+			pWbLinux->netif_state_stop = 1;
+			IsStop = TRUE;
+		}
+		OS_SPIN_LOCK_RELEASED( &pWbLinux->SpinLock );
+
+		if (IsStop) {
 #ifdef _PE_TX_DUMP_
-	     WBDEBUG(("[w35und] tx netif stop"));
+			WBDEBUG(("[w35und] tx netif stop"));
 #endif
-	     netif_stop_queue( netdev );
-	  }
-     }
+			netif_stop_queue( netdev );
+		}
+	}
 
-   // Calling Mds for sending packet --------------------
-   Adapter->sLocalPara._NumTxMSDU++;
-   netdev->trans_start=jiffies;
-   Mds_Tx( Adapter );
+	// Calling Mds for sending packet --------------------
+	Adapter->sLocalPara._NumTxMSDU++;
+	netdev->trans_start=jiffies;
+	Mds_Tx( Adapter );
 
-   return 0;// return 1 if asking kernel retry to send sk-buffer.
+	return 0;// return 1 if asking kernel retry to send sk-buffer.
 }
 
 void
-  WBLINUX_GetNextPacket(  PADAPTER Adapter,  PDESCRIPTOR pDes )
+WBLINUX_GetNextPacket(  PADAPTER Adapter,  PDESCRIPTOR pDes )
 {
    PWBLINUX	pWbLinux = &Adapter->WbLinux;
    struct sk_buff  *pSkb;

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ