w35und: clean up mds_tx function

From: Pavel Machek
Date: Fri Apr 25 2008 - 11:25:56 EST



Clean up mds_tx function by removing paths that could not be
taken. Remove some evil macros.

Some more removal of evil macros.

---
commit 8a641ec6e230af50cb72311a49a69d76f56c4acd
tree 03082974f8cdc155734925b173f8c4eaa8746095
parent 0913f446261f79557bbe89df29f107f83388415a
author Pavel <pavel@xxxxxxxxxx> Fri, 25 Apr 2008 17:25:26 +0200
committer Pavel <pavel@xxxxxxxxxx> Fri, 25 Apr 2008 17:25:26 +0200

drivers/net/wireless/winbond/winbondport/mds.c | 81 +++++++-------------
drivers/net/wireless/winbond/winbondport/mds_s.h | 16 ----
drivers/net/wireless/winbond/winbondport/wbhal_s.h | 2
.../net/wireless/winbond/winbondport/wblinux_s.h | 1
4 files changed, 28 insertions(+), 72 deletions(-)

diff --git a/drivers/net/wireless/winbond/winbondport/mds.c b/drivers/net/wireless/winbond/winbondport/mds.c
index e7dbba7..3ef8584 100644
--- a/drivers/net/wireless/winbond/winbondport/mds.c
+++ b/drivers/net/wireless/winbond/winbondport/mds.c
@@ -3,20 +3,20 @@ #include "os_common.h"
void
Mds_reset_descriptor(PADAPTER Adapter)
{
- PMDS pMds = &Adapter->Mds;
+ PMDS pMds = &Adapter->Mds;

pMds->TxPause = 0;
pMds->TxThreadCount = 0;
pMds->TxFillIndex = 0;
pMds->TxDesIndex = 0;
pMds->ScanTxPause = 0;
- OS_MEMORY_CLEAR( pMds->TxOwner, ((MAX_USB_TX_BUFFER_NUMBER + 3) & ~0x03) );
+ memset(pMds->TxOwner, 0, ((MAX_USB_TX_BUFFER_NUMBER + 3) & ~0x03));
}

unsigned char
Mds_initial(PADAPTER Adapter)
{
- PMDS pMds = &Adapter->Mds;
+ PMDS pMds = &Adapter->Mds;

pMds->TxPause = FALSE;
pMds->TxRTSThreshold = DEFAULT_RTSThreshold;
@@ -42,7 +42,7 @@ Mds_Tx(PADAPTER Adapter)
PDESCRIPTOR pTxDes = &TxDes;
PUCHAR XmitBufAddress;
u16 XmitBufSize, PacketSize, stmp, CurrentSize, FragmentThreshold;
- u8 FillIndex, TxDesIndex, PacketFrom, FragmentCount, FillCount;
+ u8 FillIndex, TxDesIndex, FragmentCount, FillCount;
unsigned char BufferFilled = FALSE, MICAdd = 0;


@@ -69,23 +69,9 @@ Mds_Tx(PADAPTER Adapter)
XmitBufSize = 0;
FillCount = 0;
do {
- // Sending packet path
- PacketFrom = 1;
- PacketSize = 0;
- if (!PacketSize) {
- if (1) { // If driver doesn't run in test mode, send MLME and normal data frame
- PacketFrom = 2;
- PacketSize = Adapter->sMlmeFrame.len;
- if (!PacketSize) {
- if (pMds->ScanTxPause) //No management frames to transmit.
- break; //The scanning is progressing, so stop the data
- //frames transmission
- break;
- }
- }
- else
- break;
- }
+ PacketSize = Adapter->sMlmeFrame.len;
+ if (!PacketSize)
+ break;

//For Check the buffer resource
FragmentThreshold = CURRENT_FRAGMENT_THRESHOLD;
@@ -105,20 +91,18 @@ Mds_Tx(PADAPTER Adapter)
//
BufferFilled = TRUE;

- DESCRIPTOR_RESET(pTxDes);
+ /* Leaves first u8 intact */
+ memset((PUCHAR)pTxDes + 1, 0, sizeof(DESCRIPTOR) - 1);
+
TxDesIndex = pMds->TxDesIndex;//Get the current ID
- DESCRIPTOR_SET_ID( pTxDes, TxDesIndex );
- pMds->TxDesFrom[ TxDesIndex ] = PacketFrom;//Storing the information of source comming from
+ pTxDes->Descriptor_ID = TxDesIndex;
+ pMds->TxDesFrom[ TxDesIndex ] = 2;//Storing the information of source comming from
pMds->TxDesIndex++;
pMds->TxDesIndex %= MAX_USB_TX_DESCRIPTOR;

// Get packet to transmit, 1:TESTSTA 2:MLME 3: Ndis data
- if (PacketFrom == 3)
- { BUG(); }
- else if (PacketFrom == 2)
- { GET_DESCRIPTOR_SECOND( Adapter, pTxDes ); }
- else if (PacketFrom == 1)
- { }
+
+ MLME_GetNextPacket( Adapter, pTxDes );

// Copy header. 8byte USB + 24byte 802.11Hdr. Set TxRate, Preamble type
Mds_HeaderCopy( Adapter, pTxDes, XmitBufAddress );
@@ -164,12 +148,7 @@ Mds_Tx(PADAPTER Adapter)
#endif

// Get packet to transmit completed, 1:TESTSTA 2:MLME 3: Ndis data
- if (PacketFrom == 3)
- { BUG(); }
- else if (PacketFrom == 2)
- { GET_DESCRIPTOR_SECOND_COMPLETED( Adapter, pTxDes ); }
- else if (PacketFrom == 1)
- { BUG(); }
+ MLME_SendComplete( Adapter, 0, TRUE);

// Software TSC count 20060214
pMds->TxTsc++;
@@ -264,7 +243,7 @@ Mds_SendComplete(PADAPTER Adapter, PT02_
if( pMds->TxDesFrom[ PacketId ] == 3 )
{ BUG(); }
else if( pMds->TxDesFrom[ PacketId ] == 2 )
- { COMPLETE_DESCRIPTOR_SECOND( Adapter, PacketId, SendOK ); }
+ { }
else if( pMds->TxDesFrom[ PacketId ] == 1 )
{ BUG(); }

@@ -309,7 +288,7 @@ Mds_HeaderCopy(PADAPTER Adapter, PDESCRI
pT00->value = 0;// Clear
pT01->value = 0;// Clear

- pT00->T00_tx_packet_id = DESCRIPTOR_GET_ID( pDes );// Set packet ID
+ pT00->T00_tx_packet_id = pDes->Descriptor_ID;// Set packet ID
pT00->T00_header_length = 24;// Set header length
pT01->T01_retry_abort_ebable = 1;//921013 931130.5.h

@@ -325,7 +304,7 @@ Mds_HeaderCopy(PADAPTER Adapter, PDESCRI

// Set fragment threshold
FragmentThreshold -= (DOT_11_MAC_HEADER_SIZE + 4);
- DESCRIPTOR_SET_FRAGMENT_THRESHOLD( pDes, FragmentThreshold );
+ pDes->FragmentThreshold = FragmentThreshold;

// Set more frag bit
TargetBuffer[1] |= 0x04;// Set more frag bit
@@ -338,7 +317,7 @@ Mds_HeaderCopy(PADAPTER Adapter, PDESCRI
//Use basic rate
ctmp1 = ctmpf = CURRENT_TX_RATE_FOR_MNG;

- DESCRIPTOR_SET_TX_RATE( pDes, ctmp1 );
+ pDes->TxRate = ctmp1;
#ifdef _PE_TX_DUMP_
WBDEBUG(("Tx rate =%x\n", ctmp1));
#endif
@@ -349,7 +328,7 @@ Mds_HeaderCopy(PADAPTER Adapter, PDESCRI
if( i == 1 )
ctmp1 = ctmpf;

- pMds->TxRate[DESCRIPTOR_GET_ID(pDes)][i] = ctmp1; // backup the ta rate and fall back rate
+ pMds->TxRate[pDes->Descriptor_ID][i] = ctmp1; // backup the ta rate and fall back rate

if( ctmp1 == 108) ctmp2 = 7;
else if( ctmp1 == 96 ) ctmp2 = 6; // Rate convert for USB
@@ -374,10 +353,10 @@ Mds_HeaderCopy(PADAPTER Adapter, PDESCRI
// Set preamble type
//
if ((pT01->T01_modulation_type == 0) && (pT01->T01_transmit_rate == 0)) // RATE_1M
- DESCRIPTOR_SET_PREAMBLE_MODE( pDes, WLAN_PREAMBLE_TYPE_LONG );
+ pDes->PreambleMode = WLAN_PREAMBLE_TYPE_LONG;
else
- DESCRIPTOR_SET_PREAMBLE_MODE( pDes, CURRENT_PREAMBLE_MODE );
- pT01->T01_plcp_header_length = DESCRIPTOR_GET_PREAMBLE_MODE( pDes );// Set preamble
+ pDes->PreambleMode = CURRENT_PREAMBLE_MODE;
+ pT01->T01_plcp_header_length = pDes->PreambleMode; // Set preamble

}

@@ -399,16 +378,13 @@ Mds_BodyCopy(PADAPTER Adapter, PDESCRIPT
buf_index = pDes->buffer_start_index;

pT00 = (PT00_DESCRIPTOR)buffer;
- while( SizeLeft )
- {
+ while (SizeLeft) {
pT00 = (PT00_DESCRIPTOR)buffer;
CopySize = SizeLeft;
- if( SizeLeft > DESCRIPTOR_GET_FRAGMENT_THRESHOLD(pDes) )
- {
- CopySize = DESCRIPTOR_GET_FRAGMENT_THRESHOLD(pDes);
+ if (SizeLeft > pDes->FragmentThreshold) {
+ CopySize = pDes->FragmentThreshold;
pT00->T00_frame_length = 24 + CopySize;//Set USB length
- }
- else
+ } else
pT00->T00_frame_length = 24 + SizeLeft;//Set USB length

SizeLeft -= CopySize;
@@ -488,8 +464,7 @@ Mds_BodyCopy(PADAPTER Adapter, PDESCRIPT
pT00->T00_IsLastMpdu = 1;
buffer = (PUCHAR)pT00 + 8; // +8 for USB hdr
buffer[1] &= ~0x04; // Clear more frag bit of 802.11 frame control
- DESCRIPTOR_SET_FRAGMENT_COUNT( pDes, FragmentCount ); // Update the correct fragment number
-
+ pDes->FragmentCount = FragmentCount; // Update the correct fragment number
return Size;
}

diff --git a/drivers/net/wireless/winbond/winbondport/mds_s.h b/drivers/net/wireless/winbond/winbondport/mds_s.h
index 2cf3b38..f929c7d 100644
--- a/drivers/net/wireless/winbond/winbondport/mds_s.h
+++ b/drivers/net/wireless/winbond/winbondport/mds_s.h
@@ -7,22 +7,6 @@ #define MDS_EVENT_INDICATE( _A, _B, _F )
#define AUTH_REQUEST_PAIRWISE_ERROR 0 // _F flag setting
#define AUTH_REQUEST_GROUP_ERROR 1 // _F flag setting

-#define QUERY_SIZE_FIRST( _A ) MDS_GetPacketSize( _A ) // 20060802
-#define QUERY_SIZE_SECOND( _A ) Adapter->sMlmeFrame.len
-#define QUERY_SIZE_THIRD( _A ) OS_PACKET_SIZE( _A )
-
-#define GET_DESCRIPTOR_FIRST( _A, _D ) MDS_GetNextPacket( _A, _D )
-#define GET_DESCRIPTOR_SECOND( _A, _D ) MLME_GetNextPacket( _A, _D )
-#define GET_DESCRIPTOR_THIRD( _A, _D ) OS_GET_PACKET( _A, _D )
-#define GET_DESCRIPTOR_FIRST_COMPLETED( _A, _D ) MDS_GetNextPacketComplete( _A, _D )
-#define GET_DESCRIPTOR_SECOND_COMPLETED( _A, _D ) MLME_SendComplete( _A, 0, TRUE)
-#define GET_DESCRIPTOR_THIRD_COMPLETED( _A, _D ) OS_GET_PACKET_COMPLETE( _A, _D )
-
-
-#define COMPLETE_DESCRIPTOR_FIRST( _A, _ID, _R ) MDS_SendResult( _A, _ID, _R )
-#define COMPLETE_DESCRIPTOR_SECOND( _A, _ID, _R )
-#define COMPLETE_DESCRIPTOR_THIRD( _A, _ID, _R ) OS_SEND_RESULT( _A, _ID, _R )
-
// For variable setting
#define CURRENT_BSS_TYPE psBSS(psLOCAL->wConnectedSTAindex)->bBssType
#define CURRENT_WEP_MODE psSME->_dot11PrivacyInvoked
diff --git a/drivers/net/wireless/winbond/winbondport/wbhal_s.h b/drivers/net/wireless/winbond/winbondport/wbhal_s.h
index b41956e..7e98669 100644
--- a/drivers/net/wireless/winbond/winbondport/wbhal_s.h
+++ b/drivers/net/wireless/winbond/winbondport/wbhal_s.h
@@ -412,7 +412,6 @@ typedef struct _DESCRIPTOR { // Skip le
//=======================================================
// Common operation for DESCRIPTOR
//=======================================================
-#define DESCRIPTOR_RESET( _D ) memset((PUCHAR)_D + 1, 0, sizeof(DESCRIPTOR) - 1)
#define DESCRIPTOR_ADD_BUFFER( _D, _A, _S ) \
{\
_D->InternalUsed = _D->buffer_start_index + _D->buffer_number; \
@@ -425,7 +424,6 @@ #define DESCRIPTOR_ADD_BUFFER( _D, _A, _
#define DESCRIPTOR_GET_TYPE( _D ) _D->Type
#define DESCRIPTOR_SET_TYPE( _D, _T ) _D->Type = _T
#define DESCRIPTOR_GET_ID( _D ) _D->Descriptor_ID
-#define DESCRIPTOR_SET_ID( _D, _T ) _D->Descriptor_ID = _T
#define DESCRIPTOR_GET_FRAGMENT_COUNT( _D ) _D->FragmentCount
#define DESCRIPTOR_SET_FRAGMENT_COUNT( _D, _T ) _D->FragmentCount = _T
#define DESCRIPTOR_GET_FRAGMENT_THRESHOLD( _D ) _D->FragmentThreshold
diff --git a/drivers/net/wireless/winbond/winbondport/wblinux_s.h b/drivers/net/wireless/winbond/winbondport/wblinux_s.h
index 5f483b7..97e9167 100644
--- a/drivers/net/wireless/winbond/winbondport/wblinux_s.h
+++ b/drivers/net/wireless/winbond/winbondport/wblinux_s.h
@@ -2,7 +2,6 @@
// wblinux_s.h
//
#define OS_MEMORY_ALLOC( _V, _S ) WBLINUX_MemoryAlloc( _V, _S )
-#define OS_PACKET_SIZE( _A ) (!Adapter->WbLinux.shutdown && Adapter->WbLinux.skb_array[Adapter->WbLinux.skb_GetIndex]) ? (u16)Adapter->WbLinux.skb_array[Adapter->WbLinux.skb_GetIndex]->len : 0
#define OS_LINK_STATUS (Adapter->WbLinux.LinkStatus == OS_CONNECTED)
#define OS_SET_SHUTDOWN( _A ) _A->WbLinux.shutdown=1
#define OS_SET_RESUME( _A ) _A->WbLinux.shutdown=0

--
(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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/