Oops, here it comes again.. /Lars >From e1c9a984dfef78df001ac926d258083119c4755e Mon Sep 17 00:00:00 2001 From: Lars Lindley <lindley@xxxxxxxxxx> Date: Fri, 12 Mar 2010 22:27:04 +0100 Subject: [PATCH] staging: winbond: Formatting, whitespace etc in mds.c I fixed most of the problems found by checkpatch.pl. Some long lines are left and some KERN_.. Signed-off-by: Lars Lindley <lindley@xxxxxxxxxx> --- drivers/staging/winbond/mds.c | 586 +++++++++++++++++++++-------------------- 1 files changed, 300 insertions(+), 286 deletions(-) diff --git a/drivers/staging/winbond/mds.c b/drivers/staging/winbond/mds.c index 37e0c18..46d7921 100644 --- a/drivers/staging/winbond/mds.c +++ b/drivers/staging/winbond/mds.c @@ -5,8 +5,7 @@ #include "wbhal_f.h" #include "wblinux_f.h" -unsigned char -Mds_initial(struct wbsoft_priv * adapter) +unsigned char Mds_initial(struct wbsoft_priv *adapter) { struct wb35_mds *pMds = &adapter->Mds; @@ -14,24 +13,24 @@ Mds_initial(struct wbsoft_priv * adapter) pMds->TxRTSThreshold = DEFAULT_RTSThreshold; pMds->TxFragmentThreshold = DEFAULT_FRAGMENT_THRESHOLD; - return hal_get_tx_buffer( &adapter->sHwData, &pMds->pTxBuffer ); + return hal_get_tx_buffer(&adapter->sHwData, &pMds->pTxBuffer); } -void -Mds_Destroy(struct wbsoft_priv * adapter) +void Mds_Destroy(struct wbsoft_priv *adapter) { } -static void Mds_DurationSet(struct wbsoft_priv *adapter, struct wb35_descriptor *pDes, u8 *buffer) +static void Mds_DurationSet(struct wbsoft_priv *adapter, + struct wb35_descriptor *pDes, u8 *buffer) { PT00_DESCRIPTOR pT00; PT01_DESCRIPTOR pT01; - u16 Duration, NextBodyLen, OffsetSize; - u8 Rate, i; + u16 Duration, NextBodyLen, OffsetSize; + u8 Rate, i; unsigned char CTS_on = false, RTS_on = false; PT00_DESCRIPTOR pNextT00; - u16 BodyLen = 0; - unsigned char boGroupAddr = false; + u16 BodyLen = 0; + unsigned char boGroupAddr = false; OffsetSize = pDes->FragmentThreshold + 32 + 3; OffsetSize &= ~0x03; @@ -43,194 +42,181 @@ static void Mds_DurationSet(struct wbsoft_priv *adapter, struct wb35_descriptor pT01 = (PT01_DESCRIPTOR)(buffer+4); pNextT00 = (PT00_DESCRIPTOR)(buffer+OffsetSize); - if( buffer[ DOT_11_DA_OFFSET+8 ] & 0x1 ) // +8 for USB hdr + if (buffer[DOT_11_DA_OFFSET+8] & 0x1) /* +8 for USB hdr */ boGroupAddr = true; - //======================================== - // Set RTS/CTS mechanism - //======================================== - if (!boGroupAddr) - { - //NOTE : If the protection mode is enabled and the MSDU will be fragmented, - // the tx rates of MPDUs will all be DSSS rates. So it will not use - // CTS-to-self in this case. CTS-To-self will only be used when without - // fragmentation. -- 20050112 - BodyLen = (u16)pT00->T00_frame_length; //include 802.11 header - BodyLen += 4; //CRC - - if( BodyLen >= CURRENT_RTS_THRESHOLD ) - RTS_on = true; // Using RTS - else - { - if( pT01->T01_modulation_type ) // Is using OFDM - { - if( CURRENT_PROTECT_MECHANISM ) // Is using protect - CTS_on = true; // Using CTS + /*======================================== + * Set RTS/CTS mechanism + *========================================*/ + if (!boGroupAddr) { + /*NOTE : If the protection mode is enabled and the MSDU will be + * fragmented, the tx rates of MPDUs will all be DSSS + * rates. So it will not use CTS-to-self in this case. + * CTS-To-self will only be used when without + * fragmentation. -- 20050112 */ + BodyLen = (u16)pT00->T00_frame_length; /*include 802.11 header*/ + BodyLen += 4; /*CRC*/ + + if (BodyLen >= CURRENT_RTS_THRESHOLD) + RTS_on = true; /* Using RTS */ + else { + if (pT01->T01_modulation_type) { /* Is using OFDM */ + if (CURRENT_PROTECT_MECHANISM) /* Is using + protect */ + CTS_on = true; /* Using CTS */ } } } - if( RTS_on || CTS_on ) - { - if( pT01->T01_modulation_type) // Is using OFDM - { - //CTS duration - // 2 SIFS + DATA transmit time + 1 ACK - // ACK Rate : 24 Mega bps - // ACK frame length = 14 bytes + if (RTS_on || CTS_on) { + if (pT01->T01_modulation_type) { /* Is using OFDM */ + /*CTS duration + * 2 SIFS + DATA transmit time + 1 ACK + * ACK Rate : 24 Mega bps + * ACK frame length = 14 bytes*/ Duration = 2*DEFAULT_SIFSTIME + - 2*PREAMBLE_PLUS_SIGNAL_PLUS_SIGNALEXTENSION + - ((BodyLen*8 + 22 + Rate*4 - 1)/(Rate*4))*Tsym + - ((112 + 22 + 95)/96)*Tsym; - } - else //DSSS - { - //CTS duration - // 2 SIFS + DATA transmit time + 1 ACK - // Rate : ?? Mega bps - // ACK frame length = 14 bytes - if( pT01->T01_plcp_header_length ) //long preamble - Duration = LONG_PREAMBLE_PLUS_PLCPHEADER_TIME*2; + 2*PREAMBLE_PLUS_SIGNAL_PLUS_SIGNALEXTENSION + + ((BodyLen*8 + 22 + Rate*4 - 1)/(Rate*4))*Tsym + + ((112 + 22 + 95)/96)*Tsym; + } else { /*DSSS*/ + /*CTS duration + *2 SIFS + DATA transmit time + 1 ACK + * Rate : ?? Mega bps + *ACK frame length = 14 bytes*/ + if (pT01->T01_plcp_header_length) /*long preamble*/ + Duration = LONG_PREAMBLE_PLUS_PLCPHEADER_TIME*2; else - Duration = SHORT_PREAMBLE_PLUS_PLCPHEADER_TIME*2; + Duration = SHORT_PREAMBLE_PLUS_PLCPHEADER_TIME*2; - Duration += ( ((BodyLen + 14)*8 + Rate-1) / Rate + - DEFAULT_SIFSTIME*2 ); + Duration += (((BodyLen + 14)*8 + Rate-1) / Rate + + DEFAULT_SIFSTIME*2); } - if( RTS_on ) - { - if( pT01->T01_modulation_type ) // Is using OFDM - { - //CTS + 1 SIFS + CTS duration - //CTS Rate : 24 Mega bps - //CTS frame length = 14 bytes + if (RTS_on) { + if (pT01->T01_modulation_type) { /* Is using OFDM */ + /*CTS + 1 SIFS + CTS duration + *CTS Rate : 24 Mega bps + *CTS frame length = 14 bytes*/ Duration += (DEFAULT_SIFSTIME + - PREAMBLE_PLUS_SIGNAL_PLUS_SIGNALEXTENSION + - ((112 + 22 + 95)/96)*Tsym); - } - else - { - //CTS + 1 SIFS + CTS duration - //CTS Rate : ?? Mega bps - //CTS frame length = 14 bytes - if( pT01->T01_plcp_header_length ) //long preamble - Duration += LONG_PREAMBLE_PLUS_PLCPHEADER_TIME; - else - Duration += SHORT_PREAMBLE_PLUS_PLCPHEADER_TIME; - - Duration += ( ((112 + Rate-1) / Rate) + DEFAULT_SIFSTIME ); + PREAMBLE_PLUS_SIGNAL_PLUS_SIGNALEXTENSION + + ((112 + 22 + 95)/96)*Tsym); + } else { + /*CTS + 1 SIFS + CTS duration + *CTS Rate : ?? Mega bps + *CTS frame length = 14 bytes*/ + if (pT01->T01_plcp_header_length) /*long preamble*/ + Duration += LONG_PREAMBLE_PLUS_PLCPHEADER_TIME; + else + Duration += SHORT_PREAMBLE_PLUS_PLCPHEADER_TIME; + + Duration += (((112 + Rate-1) / Rate) + + DEFAULT_SIFSTIME); } } - // Set the value into USB descriptor + /* Set the value into USB descriptor */ pT01->T01_add_rts = RTS_on ? 1 : 0; pT01->T01_add_cts = CTS_on ? 1 : 0; pT01->T01_rts_cts_duration = Duration; } - //===================================== - // Fill the more fragment descriptor - //===================================== - if( boGroupAddr ) + /*===================================== + * Fill the more fragment descriptor + *=====================================*/ + if (boGroupAddr) Duration = 0; - else - { - for( i=pDes->FragmentCount-1; i>0; i-- ) - { + else { + for (i = pDes->FragmentCount-1; i > 0; i--) { NextBodyLen = (u16)pNextT00->T00_frame_length; - NextBodyLen += 4; //CRC - - if( pT01->T01_modulation_type ) - { - //OFDM - // data transmit time + 3 SIFS + 2 ACK - // Rate : ??Mega bps - // ACK frame length = 14 bytes, tx rate = 24M + NextBodyLen += 4; /*CRC*/ + + if (pT01->T01_modulation_type) { + /*OFDM + * data transmit time + 3 SIFS + 2 ACK + * Rate : ??Mega bps + * ACK frame length = 14 bytes, tx rate = 24M*/ Duration = PREAMBLE_PLUS_SIGNAL_PLUS_SIGNALEXTENSION * 3; Duration += (((NextBodyLen*8 + 22 + Rate*4 - 1)/(Rate*4)) * Tsym + (((2*14)*8 + 22 + 95)/96)*Tsym + DEFAULT_SIFSTIME*3); - } - else - { - //DSSS - // data transmit time + 2 ACK + 3 SIFS - // Rate : ??Mega bps - // ACK frame length = 14 bytes - //TODO : - if( pT01->T01_plcp_header_length ) //long preamble + } else { + /*DSSS + *data transmit time + 2 ACK + 3 SIFS + * Rate : ??Mega bps + * ACK frame length = 14 bytes + * TODO : */ + if (pT01->T01_plcp_header_length) /*long preamble*/ Duration = LONG_PREAMBLE_PLUS_PLCPHEADER_TIME*3; else Duration = SHORT_PREAMBLE_PLUS_PLCPHEADER_TIME*3; - Duration += ( ((NextBodyLen + (2*14))*8 + Rate-1) / Rate + - DEFAULT_SIFSTIME*3 ); + Duration += (((NextBodyLen + (2*14))*8 + Rate-1) / Rate + + DEFAULT_SIFSTIME*3); } - ((u16 *)buffer)[5] = cpu_to_le16(Duration);// 4 USHOR for skip 8B USB, 2USHORT=FC + Duration + ((u16 *)buffer)[5] = cpu_to_le16(Duration);/*4 USHOR for skip 8B USB, 2USHORT=FC + Duration*/ - //----20061009 add by anson's endian + /*----20061009 add by anson's endian*/ pNextT00->value = cpu_to_le32(pNextT00->value); - pT01->value = cpu_to_le32( pT01->value ); - //----end 20061009 add by anson's endian + pT01->value = cpu_to_le32(pT01->value); + /*----end 20061009 add by anson's endian*/ buffer += OffsetSize; pT01 = (PT01_DESCRIPTOR)(buffer+4); - if (i != 1) //The last fragment will not have the next fragment + if (i != 1) /* The last fragment will not have the + next fragment */ pNextT00 = (PT00_DESCRIPTOR)(buffer+OffsetSize); } - //===================================== - // Fill the last fragment descriptor - //===================================== - if( pT01->T01_modulation_type ) - { - //OFDM - // 1 SIFS + 1 ACK - // Rate : 24 Mega bps - // ACK frame length = 14 bytes + /*===================================== + * Fill the last fragment descriptor + *=====================================*/ + if (pT01->T01_modulation_type) { + /*OFDM + * 1 SIFS + 1 ACK + * Rate : 24 Mega bps + * ACK frame length = 14 bytes*/ Duration = PREAMBLE_PLUS_SIGNAL_PLUS_SIGNALEXTENSION; - //The Tx rate of ACK use 24M - Duration += (((112 + 22 + 95)/96)*Tsym + DEFAULT_SIFSTIME ); - } - else - { - // DSSS - // 1 ACK + 1 SIFS - // Rate : ?? Mega bps - // ACK frame length = 14 bytes(112 bits) - if( pT01->T01_plcp_header_length ) //long preamble + /*The Tx rate of ACK use 24M*/ + Duration += (((112 + 22 + 95)/96)*Tsym + DEFAULT_SIFSTIME); + } else { + /* DSSS + * 1 ACK + 1 SIFS + * Rate : ?? Mega bps + * ACK frame length = 14 bytes(112 bits)*/ + if (pT01->T01_plcp_header_length) /*long preamble*/ Duration = LONG_PREAMBLE_PLUS_PLCPHEADER_TIME; else Duration = SHORT_PREAMBLE_PLUS_PLCPHEADER_TIME; - Duration += ( (112 + Rate-1)/Rate + DEFAULT_SIFSTIME ); + Duration += ((112 + Rate-1)/Rate + DEFAULT_SIFSTIME); } } - ((u16 *)buffer)[5] = cpu_to_le16(Duration);// 4 USHOR for skip 8B USB, 2USHORT=FC + Duration + ((u16 *)buffer)[5] = cpu_to_le16(Duration);/* 4 USHOR for skip 8B USB, + 2USHORT=FC + Duration*/ pT00->value = cpu_to_le32(pT00->value); pT01->value = cpu_to_le32(pT01->value); - //--end 20061009 add + /*--end 20061009 add*/ } -// The function return the 4n size of usb pk -static u16 Mds_BodyCopy(struct wbsoft_priv *adapter, struct wb35_descriptor *pDes, u8 *TargetBuffer) +/* The function return the 4n size of usb pk*/ +static u16 Mds_BodyCopy(struct wbsoft_priv *adapter, + struct wb35_descriptor *pDes, u8 *TargetBuffer) { PT00_DESCRIPTOR pT00; struct wb35_mds *pMds = &adapter->Mds; - u8 *buffer; - u8 *src_buffer; - u8 *pctmp; - u16 Size = 0; - u16 SizeLeft, CopySize, CopyLeft, stmp; - u8 buf_index, FragmentCount = 0; + u8 *buffer; + u8 *src_buffer; + u8 *pctmp; + u16 Size = 0; + u16 SizeLeft, CopySize, CopyLeft, stmp; + u8 buf_index, FragmentCount = 0; - // Copy fragment body - buffer = TargetBuffer; // shift 8B usb + 24B 802.11 + /* Copy fragment body */ + buffer = TargetBuffer; /* shift 8B usb + 24B 802.11 */ SizeLeft = pDes->buffer_total_size; buf_index = pDes->buffer_start_index; @@ -240,39 +226,39 @@ static u16 Mds_BodyCopy(struct wbsoft_priv *adapter, struct wb35_descriptor *pDe CopySize = SizeLeft; if (SizeLeft > pDes->FragmentThreshold) { CopySize = pDes->FragmentThreshold; - pT00->T00_frame_length = 24 + CopySize;//Set USB length + pT00->T00_frame_length = 24 + CopySize;/*Set USBlength*/ } else - pT00->T00_frame_length = 24 + SizeLeft;//Set USB length + pT00->T00_frame_length = 24 + SizeLeft;/*Set USBlength*/ SizeLeft -= CopySize; - // 1 Byte operation - pctmp = (u8 *)( buffer + 8 + DOT_11_SEQUENCE_OFFSET ); + /* 1 Byte operation */ + pctmp = (u8 *)(buffer + 8 + DOT_11_SEQUENCE_OFFSET); *pctmp &= 0xf0; - *pctmp |= FragmentCount;//931130.5.m - if( !FragmentCount ) + *pctmp |= FragmentCount;/*931130.5.m*/ + if (!FragmentCount) pT00->T00_first_mpdu = 1; - buffer += 32; // 8B usb + 24B 802.11 header + buffer += 32; /* 8B usb + 24B 802.11 header */ Size += 32; - // Copy into buffer + /* Copy into buffer */ stmp = CopySize + 3; - stmp &= ~0x03;//4n Alignment - Size += stmp;// Current 4n offset of mpdu + stmp &= ~0x03; /* 4n Alignment */ + Size += stmp; /* Current 4n offset of mpdu */ while (CopySize) { - // Copy body + /* Copy body */ src_buffer = pDes->buffer_address[buf_index]; CopyLeft = CopySize; if (CopySize >= pDes->buffer_size[buf_index]) { CopyLeft = pDes->buffer_size[buf_index]; - // Get the next buffer of descriptor + /* Get the next buffer of descriptor */ buf_index++; buf_index %= MAX_DESCRIPTOR_BUFFER_INDEX; } else { - u8 *pctmp = pDes->buffer_address[buf_index]; + u8 *pctmp = pDes->buffer_address[buf_index]; pctmp += CopySize; pDes->buffer_address[buf_index] = pctmp; pDes->buffer_size[buf_index] -= CopySize; @@ -283,26 +269,30 @@ static u16 Mds_BodyCopy(struct wbsoft_priv *adapter, struct wb35_descriptor *pDe CopySize -= CopyLeft; } - // 931130.5.n + /* 931130.5.n */ if (pMds->MicAdd) { if (!SizeLeft) { - pMds->MicWriteAddress[ pMds->MicWriteIndex ] = buffer - pMds->MicAdd; - pMds->MicWriteSize[ pMds->MicWriteIndex ] = pMds->MicAdd; + pMds->MicWriteAddress[pMds->MicWriteIndex] = + buffer - pMds->MicAdd; + pMds->MicWriteSize[pMds->MicWriteIndex] = + pMds->MicAdd; pMds->MicAdd = 0; - } - else if( SizeLeft < 8 ) //931130.5.p - { + } else if (SizeLeft < 8) { /*931130.5.p*/ pMds->MicAdd = SizeLeft; - pMds->MicWriteAddress[ pMds->MicWriteIndex ] = buffer - ( 8 - SizeLeft ); - pMds->MicWriteSize[ pMds->MicWriteIndex ] = 8 - SizeLeft; + pMds->MicWriteAddress[pMds->MicWriteIndex] = + buffer - (8 - SizeLeft); + pMds->MicWriteSize[pMds->MicWriteIndex] = + 8 - SizeLeft; pMds->MicWriteIndex++; } } - // Does it need to generate the new header for next mpdu? + /* Does it need to generate the new header for next mpdu? */ if (SizeLeft) { - buffer = TargetBuffer + Size; // Get the next 4n start address - memcpy( buffer, TargetBuffer, 32 );//Copy 8B USB +24B 802.11 + buffer = TargetBuffer + Size; /* Get the next 4n + start address */ + memcpy(buffer, TargetBuffer, 32);/*Copy 8B USB + +24B 802.11*/ pT00 = (PT00_DESCRIPTOR)buffer; pT00->T00_first_mpdu = 0; } @@ -312,62 +302,64 @@ static u16 Mds_BodyCopy(struct wbsoft_priv *adapter, struct wb35_descriptor *pDe pT00->T00_last_mpdu = 1; pT00->T00_IsLastMpdu = 1; - buffer = (u8 *)pT00 + 8; // +8 for USB hdr - buffer[1] &= ~0x04; // Clear more frag bit of 802.11 frame control - pDes->FragmentCount = FragmentCount; // Update the correct fragment number + buffer = (u8 *)pT00 + 8; /* +8 for USB hdr */ + buffer[1] &= ~0x04; /* Clear more frag bit of 802.11 frame control*/ + pDes->FragmentCount = FragmentCount; /* Update the correct + fragment number */ return Size; } -static void Mds_HeaderCopy(struct wbsoft_priv * adapter, struct wb35_descriptor *pDes, u8 *TargetBuffer) +static void Mds_HeaderCopy(struct wbsoft_priv *adapter, + struct wb35_descriptor *pDes, u8 *TargetBuffer) { struct wb35_mds *pMds = &adapter->Mds; - u8 *src_buffer = pDes->buffer_address[0];//931130.5.g + u8 *src_buffer = pDes->buffer_address[0];/*931130.5.g*/ PT00_DESCRIPTOR pT00; PT01_DESCRIPTOR pT01; - u16 stmp; - u8 i, ctmp1, ctmp2, ctmpf; - u16 FragmentThreshold = CURRENT_FRAGMENT_THRESHOLD; + u16 stmp; + u8 i, ctmp1, ctmp2, ctmpf; + u16 FragmentThreshold = CURRENT_FRAGMENT_THRESHOLD; stmp = pDes->buffer_total_size; - // - // Set USB header 8 byte - // + /* + *Set USB header 8 byte + */ pT00 = (PT00_DESCRIPTOR)TargetBuffer; TargetBuffer += 4; pT01 = (PT01_DESCRIPTOR)TargetBuffer; TargetBuffer += 4; - pT00->value = 0;// Clear - pT01->value = 0;// Clear + pT00->value = 0;/* Clear */ + pT01->value = 0;/* Clear */ - 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 + 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*/ - // Key ID setup + /* Key ID setup */ pT01->T01_wep_id = 0; - FragmentThreshold = DEFAULT_FRAGMENT_THRESHOLD; //Do not fragment - // Copy full data, the 1'st buffer contain all the data 931130.5.j - memcpy( TargetBuffer, src_buffer, DOT_11_MAC_HEADER_SIZE );// Copy header + FragmentThreshold = DEFAULT_FRAGMENT_THRESHOLD; /*Do not fragment*/ + /* Copy full data, the 1'st buffer contain all the data 931130.5.j*/ + memcpy(TargetBuffer, src_buffer, DOT_11_MAC_HEADER_SIZE);/*Copy header*/ pDes->buffer_address[0] = src_buffer + DOT_11_MAC_HEADER_SIZE; pDes->buffer_total_size -= DOT_11_MAC_HEADER_SIZE; pDes->buffer_size[0] = pDes->buffer_total_size; - // Set fragment threshold + /* Set fragment threshold */ FragmentThreshold -= (DOT_11_MAC_HEADER_SIZE + 4); pDes->FragmentThreshold = FragmentThreshold; - // Set more frag bit - TargetBuffer[1] |= 0x04;// Set more frag bit + /* Set more frag bit */ + TargetBuffer[1] |= 0x04;/* Set more frag bit*/ - // - // Set tx rate - // - stmp = *(u16 *)(TargetBuffer+30); // 2n alignment address + /* + * Set tx rate + */ + stmp = *(u16 *)(TargetBuffer+30); /* 2n alignment address */ - //Use basic rate + /* Use basic rate */ ctmp1 = ctmpf = CURRENT_TX_RATE_FOR_MNG; pDes->TxRate = ctmp1; @@ -377,53 +369,65 @@ static void Mds_HeaderCopy(struct wbsoft_priv * adapter, struct wb35_descriptor pT01->T01_modulation_type = (ctmp1%3) ? 0 : 1; - for( i=0; i<2; i++ ) { - if( i == 1 ) + for (i = 0; i < 2; i++) { + if (i == 1) ctmp1 = ctmpf; - 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 - else if( ctmp1 == 72 ) ctmp2 = 5; - else if( ctmp1 == 48 ) ctmp2 = 4; - else if( ctmp1 == 36 ) ctmp2 = 3; - else if( ctmp1 == 24 ) ctmp2 = 2; - else if( ctmp1 == 18 ) ctmp2 = 1; - else if( ctmp1 == 12 ) ctmp2 = 0; - else if( ctmp1 == 22 ) ctmp2 = 3; - else if( ctmp1 == 11 ) ctmp2 = 2; - else if( ctmp1 == 4 ) ctmp2 = 1; - else ctmp2 = 0; // if( ctmp1 == 2 ) or default - - if( i == 0 ) + 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 */ + else if (ctmp1 == 72) + ctmp2 = 5; + else if (ctmp1 == 48) + ctmp2 = 4; + else if (ctmp1 == 36) + ctmp2 = 3; + else if (ctmp1 == 24) + ctmp2 = 2; + else if (ctmp1 == 18) + ctmp2 = 1; + else if (ctmp1 == 12) + ctmp2 = 0; + else if (ctmp1 == 22) + ctmp2 = 3; + else if (ctmp1 == 11) + ctmp2 = 2; + else if (ctmp1 == 4) + ctmp2 = 1; + else + ctmp2 = 0; /*if (ctmp1 == 2) or default*/ + + if (i == 0) pT01->T01_transmit_rate = ctmp2; else pT01->T01_fall_back_rate = ctmp2; } - // - // Set preamble type - // - if ((pT01->T01_modulation_type == 0) && (pT01->T01_transmit_rate == 0)) // RATE_1M - pDes->PreambleMode = WLAN_PREAMBLE_TYPE_LONG; + /* + * Set preamble type + */ + if ((pT01->T01_modulation_type == 0) && (pT01->T01_transmit_rate == 0)) + /* RATE_1M */ + pDes->PreambleMode = WLAN_PREAMBLE_TYPE_LONG; else - pDes->PreambleMode = CURRENT_PREAMBLE_MODE; - pT01->T01_plcp_header_length = pDes->PreambleMode; // Set preamble - + pDes->PreambleMode = CURRENT_PREAMBLE_MODE; + pT01->T01_plcp_header_length = pDes->PreambleMode;/* Set preamble */ } -void -Mds_Tx(struct wbsoft_priv * adapter) +void Mds_Tx(struct wbsoft_priv *adapter) { - struct hw_data * pHwData = &adapter->sHwData; - struct wb35_mds *pMds = &adapter->Mds; + struct hw_data *pHwData = &adapter->sHwData; + struct wb35_mds *pMds = &adapter->Mds; struct wb35_descriptor TxDes; - struct wb35_descriptor *pTxDes = &TxDes; - u8 *XmitBufAddress; - u16 XmitBufSize, PacketSize, stmp, CurrentSize, FragmentThreshold; - u8 FillIndex, TxDesIndex, FragmentCount, FillCount; - unsigned char BufferFilled = false; + struct wb35_descriptor *pTxDes = &TxDes; + u8 *XmitBufAddress; + u16 XmitBufSize, PacketSize, stmp, CurrentSize, FragmentThreshold; + u8 FillIndex, TxDesIndex, FragmentCount, FillCount; + unsigned char BufferFilled = false; if (pMds->TxPause) @@ -431,21 +435,23 @@ Mds_Tx(struct wbsoft_priv * adapter) if (!hal_driver_init_OK(pHwData)) return; - //Only one thread can be run here + /*Only one thread can be run here*/ if (atomic_inc_return(&pMds->TxThreadCount) != 1) goto cleanup; - // Start to fill the data + /*Start to fill the data*/ do { FillIndex = pMds->TxFillIndex; - if (pMds->TxOwner[FillIndex]) { // Is owned by software 0:Yes 1:No -#ifdef _PE_TX_DUMP_ + if (pMds->TxOwner[FillIndex]) { /* Is owned by + software 0:Yes 1:No*/ + #ifdef _PE_TX_DUMP_ printk("[Mds_Tx] Tx Owner is H/W.\n"); -#endif + #endif break; } - XmitBufAddress = pMds->pTxBuffer + (MAX_USB_TX_BUFFER * FillIndex); //Get buffer + XmitBufAddress = pMds->pTxBuffer + + (MAX_USB_TX_BUFFER * FillIndex); /*Get buffer*/ XmitBufSize = 0; FillCount = 0; do { @@ -453,79 +459,89 @@ Mds_Tx(struct wbsoft_priv * adapter) if (!PacketSize) break; - //For Check the buffer resource + /*For Check the buffer resource*/ FragmentThreshold = CURRENT_FRAGMENT_THRESHOLD; - //931130.5.b - FragmentCount = PacketSize/FragmentThreshold + 1; - stmp = PacketSize + FragmentCount*32 + 8;//931130.5.c 8:MIC + /*931130.5.b*/ + FragmentCount = PacketSize / FragmentThreshold + 1; + stmp = PacketSize + + FragmentCount * 32 + 8;/*931130.5.c 8:MIC*/ if ((XmitBufSize + stmp) >= MAX_USB_TX_BUFFER) { printk("[Mds_Tx] Excess max tx buffer.\n"); - break; // buffer is not enough + break; /* buffer is not enough */ } - - // - // Start transmitting - // + /* + * Start transmitting + */ BufferFilled = true; /* Leaves first u8 intact */ - memset((u8 *)pTxDes + 1, 0, sizeof(struct wb35_descriptor) - 1); + memset((u8 *)pTxDes + 1, 0, + sizeof(struct wb35_descriptor) - 1); - TxDesIndex = pMds->TxDesIndex;//Get the current ID + TxDesIndex = pMds->TxDesIndex; /*Get the current ID*/ pTxDes->Descriptor_ID = TxDesIndex; - pMds->TxDesFrom[ TxDesIndex ] = 2;//Storing the information of source comming from + pMds->TxDesFrom[TxDesIndex] = 2; /*Storing the + information of source comming from*/ pMds->TxDesIndex++; pMds->TxDesIndex %= MAX_USB_TX_DESCRIPTOR; - MLME_GetNextPacket( adapter, pTxDes ); + MLME_GetNextPacket(adapter, pTxDes); - // Copy header. 8byte USB + 24byte 802.11Hdr. Set TxRate, Preamble type - Mds_HeaderCopy( adapter, pTxDes, XmitBufAddress ); + /* Copy header. 8byte USB + 24byte 802.11Hdr. + * Set TxRate, Preamble type */ + Mds_HeaderCopy(adapter, pTxDes, XmitBufAddress); - // For speed up Key setting + /* For speed up Key setting */ if (pTxDes->EapFix) { #ifdef _PE_TX_DUMP_ - printk("35: EPA 4th frame detected. Size = %d\n", PacketSize); + printk("35: EPA 4th frame detected. " + "Size = %d\n", PacketSize); #endif pHwData->IsKeyPreSet = 1; } - // Copy (fragment) frame body, and set USB, 802.11 hdr flag - CurrentSize = Mds_BodyCopy(adapter, pTxDes, XmitBufAddress); + /* Copy (fragment) frame body, + * and set USB, 802.11 hdr flag*/ + CurrentSize = Mds_BodyCopy(adapter, + pTxDes, XmitBufAddress); - // Set RTS/CTS and Normal duration field into buffer + /* Set RTS/CTS and Normal duration field into buffer*/ Mds_DurationSet(adapter, pTxDes, XmitBufAddress); - //Shift to the next address + /* Shift to the next address */ XmitBufSize += CurrentSize; XmitBufAddress += CurrentSize; #ifdef _IBSS_BEACON_SEQ_STICK_ - if ((XmitBufAddress[ DOT_11_DA_OFFSET+8 ] & 0xfc) != MAC_SUBTYPE_MNGMNT_PROBE_REQUEST) // +8 for USB hdr + if ((XmitBufAddress[DOT_11_DA_OFFSET+8] & 0xfc) != + MAC_SUBTYPE_MNGMNT_PROBE_REQUEST) /* +8 for USB hdr*/ #endif pMds->TxToggle = true; - // Get packet to transmit completed, 1:TESTSTA 2:MLME 3: Ndis data + /* Get packet to transmit completed, + * 1:TESTSTA 2:MLME 3: Ndis data */ MLME_SendComplete(adapter, 0, true); - // Software TSC count 20060214 + /* Software TSC count 20060214 */ pMds->TxTsc++; if (pMds->TxTsc == 0) pMds->TxTsc_2++; - FillCount++; // 20060928 - } while (HAL_USB_MODE_BURST(pHwData)); // End of multiple MSDU copy loop. false = single true = multiple sending + FillCount++; /* 20060928 */ + /* End of multiple MSDU copy loop. false = single sending + * true = multiple sending*/ + } while (HAL_USB_MODE_BURST(pHwData)); - // Move to the next one, if necessary + /* Move to the next one, if necessary */ if (BufferFilled) { - // size setting - pMds->TxBufferSize[ FillIndex ] = XmitBufSize; + /* size setting */ + pMds->TxBufferSize[FillIndex] = XmitBufSize; - // 20060928 set Tx count + /* 20060928 set Tx count */ pMds->TxCountInBuffer[FillIndex] = FillCount; - // Set owner flag + /* Set owner flag */ pMds->TxOwner[FillIndex] = 1; pMds->TxFillIndex++; @@ -534,14 +550,14 @@ Mds_Tx(struct wbsoft_priv * 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 - // + /* + * Start to send by lower module + */ if (!pHwData->IsKeyPreSet) Wb35Tx_start(adapter); @@ -549,30 +565,28 @@ Mds_Tx(struct wbsoft_priv * adapter) atomic_dec(&pMds->TxThreadCount); } -void -Mds_SendComplete(struct wbsoft_priv * adapter, PT02_DESCRIPTOR pT02) +void Mds_SendComplete(struct wbsoft_priv *adapter, PT02_DESCRIPTOR pT02) { - struct wb35_mds *pMds = &adapter->Mds; - struct hw_data * pHwData = &adapter->sHwData; - u8 PacketId = (u8)pT02->T02_Tx_PktID; + struct wb35_mds *pMds = &adapter->Mds; + struct hw_data *pHwData = &adapter->sHwData; + u8 PacketId = (u8)pT02->T02_Tx_PktID; unsigned char SendOK = true; - u8 RetryCount, TxRate; + u8 RetryCount, TxRate; - if (pT02->T02_IgnoreResult) // Don't care the result + if (pT02->T02_IgnoreResult) /* Don't care the result */ return; if (pT02->T02_IsLastMpdu) { - //TODO: DTO -- get the retry count and fragment count - // Tx rate - TxRate = pMds->TxRate[ PacketId ][ 0 ]; + /*TODO: DTO -- get the retry count and fragment count Tx rate*/ + TxRate = pMds->TxRate[PacketId][0]; RetryCount = (u8)pT02->T02_MPDU_Cnt; if (pT02->value & FLAG_ERROR_TX_MASK) { SendOK = false; if (pT02->T02_transmit_abort || pT02->T02_out_of_MaxTxMSDULiftTime) { - //retry error + /* retry error */ pHwData->dto_tx_retry_count += (RetryCount+1); - //[for tx debug] - if (RetryCount<7) + /* [for tx debug] */ + if (RetryCount < 7) pHwData->tx_retry_count[RetryCount] += RetryCount; else pHwData->tx_retry_count[7] += RetryCount; @@ -583,7 +597,7 @@ Mds_SendComplete(struct wbsoft_priv * adapter, PT02_DESCRIPTOR pT02) } pHwData->dto_tx_frag_count += (RetryCount+1); - //[for tx debug] + /* [for tx debug] */ if (pT02->T02_transmit_abort_due_to_TBTT) pHwData->tx_TBTT_start_count++; if (pT02->T02_transmit_without_encryption_due_to_wep_on_false) @@ -596,8 +610,8 @@ Mds_SendComplete(struct wbsoft_priv * adapter, PT02_DESCRIPTOR pT02) MTO_SetTxCount(adapter, TxRate, RetryCount); } - // Clear send result buffer - pMds->TxResult[ PacketId ] = 0; + /* Clear send result buffer */ + pMds->TxResult[PacketId] = 0; } else - pMds->TxResult[ PacketId ] |= ((u16)(pT02->value & 0x0ffff)); + pMds->TxResult[PacketId] |= ((u16)(pT02->value & 0x0ffff)); } -- 1.7.0.2 On 2010-03-13 07:31, Pavel Machek wrote: > > Needs changelog and signoff, but otherwise ok. > Pavel > > > On Fri 2010-03-12 22:45:37, Lars Lindley wrote: >> >> diff --git a/drivers/staging/winbond/mds.c b/drivers/staging/winbond/mds.c >> index 37e0c18..46d7921 100644 >> --- a/drivers/staging/winbond/mds.c >> +++ b/drivers/staging/winbond/mds.c >> @@ -5,8 +5,7 @@ >> #include "wbhal_f.h" >> #include "wblinux_f.h" >> >> -unsigned char >> -Mds_initial(struct wbsoft_priv * adapter) >> +unsigned char Mds_initial(struct wbsoft_priv *adapter) >> { >> struct wb35_mds *pMds = &adapter->Mds; >> >> @@ -14,24 +13,24 @@ Mds_initial(struct wbsoft_priv * adapter) >> pMds->TxRTSThreshold = DEFAULT_RTSThreshold; >> pMds->TxFragmentThreshold = DEFAULT_FRAGMENT_THRESHOLD; >> >> - return hal_get_tx_buffer( &adapter->sHwData, &pMds->pTxBuffer ); >> + return hal_get_tx_buffer(&adapter->sHwData, &pMds->pTxBuffer); >> } >> >> -void >> -Mds_Destroy(struct wbsoft_priv * adapter) >> +void Mds_Destroy(struct wbsoft_priv *adapter) >> { >> } >> >> -static void Mds_DurationSet(struct wbsoft_priv *adapter, struct wb35_descriptor *pDes, u8 *buffer) >> +static void Mds_DurationSet(struct wbsoft_priv *adapter, >> + struct wb35_descriptor *pDes, u8 *buffer) >> { >> PT00_DESCRIPTOR pT00; >> PT01_DESCRIPTOR pT01; >> - u16 Duration, NextBodyLen, OffsetSize; >> - u8 Rate, i; >> + u16 Duration, NextBodyLen, OffsetSize; >> + u8 Rate, i; >> unsigned char CTS_on = false, RTS_on = false; >> PT00_DESCRIPTOR pNextT00; >> - u16 BodyLen = 0; >> - unsigned char boGroupAddr = false; >> + u16 BodyLen = 0; >> + unsigned char boGroupAddr = false; >> >> OffsetSize = pDes->FragmentThreshold + 32 + 3; >> OffsetSize &= ~0x03; >> @@ -43,194 +42,181 @@ static void Mds_DurationSet(struct wbsoft_priv *adapter, struct wb35_descriptor >> pT01 = (PT01_DESCRIPTOR)(buffer+4); >> pNextT00 = (PT00_DESCRIPTOR)(buffer+OffsetSize); >> >> - if( buffer[ DOT_11_DA_OFFSET+8 ] & 0x1 ) // +8 for USB hdr >> + if (buffer[DOT_11_DA_OFFSET+8] & 0x1) /* +8 for USB hdr */ >> boGroupAddr = true; >> >> - //======================================== >> - // Set RTS/CTS mechanism >> - //======================================== >> - if (!boGroupAddr) >> - { >> - //NOTE : If the protection mode is enabled and the MSDU will be fragmented, >> - // the tx rates of MPDUs will all be DSSS rates. So it will not use >> - // CTS-to-self in this case. CTS-To-self will only be used when without >> - // fragmentation. -- 20050112 >> - BodyLen = (u16)pT00->T00_frame_length; //include 802.11 header >> - BodyLen += 4; //CRC >> - >> - if( BodyLen >= CURRENT_RTS_THRESHOLD ) >> - RTS_on = true; // Using RTS >> - else >> - { >> - if( pT01->T01_modulation_type ) // Is using OFDM >> - { >> - if( CURRENT_PROTECT_MECHANISM ) // Is using protect >> - CTS_on = true; // Using CTS >> + /*======================================== >> + * Set RTS/CTS mechanism >> + *========================================*/ >> + if (!boGroupAddr) { >> + /*NOTE : If the protection mode is enabled and the MSDU will be >> + * fragmented, the tx rates of MPDUs will all be DSSS >> + * rates. So it will not use CTS-to-self in this case. >> + * CTS-To-self will only be used when without >> + * fragmentation. -- 20050112 */ >> + BodyLen = (u16)pT00->T00_frame_length; /*include 802.11 header*/ >> + BodyLen += 4; /*CRC*/ >> + >> + if (BodyLen >= CURRENT_RTS_THRESHOLD) >> + RTS_on = true; /* Using RTS */ >> + else { >> + if (pT01->T01_modulation_type) { /* Is using OFDM */ >> + if (CURRENT_PROTECT_MECHANISM) /* Is using >> + protect */ >> + CTS_on = true; /* Using CTS */ >> } >> } >> } >> >> - if( RTS_on || CTS_on ) >> - { >> - if( pT01->T01_modulation_type) // Is using OFDM >> - { >> - //CTS duration >> - // 2 SIFS + DATA transmit time + 1 ACK >> - // ACK Rate : 24 Mega bps >> - // ACK frame length = 14 bytes >> + if (RTS_on || CTS_on) { >> + if (pT01->T01_modulation_type) { /* Is using OFDM */ >> + /*CTS duration >> + * 2 SIFS + DATA transmit time + 1 ACK >> + * ACK Rate : 24 Mega bps >> + * ACK frame length = 14 bytes*/ >> Duration = 2*DEFAULT_SIFSTIME + >> - 2*PREAMBLE_PLUS_SIGNAL_PLUS_SIGNALEXTENSION + >> - ((BodyLen*8 + 22 + Rate*4 - 1)/(Rate*4))*Tsym + >> - ((112 + 22 + 95)/96)*Tsym; >> - } >> - else //DSSS >> - { >> - //CTS duration >> - // 2 SIFS + DATA transmit time + 1 ACK >> - // Rate : ?? Mega bps >> - // ACK frame length = 14 bytes >> - if( pT01->T01_plcp_header_length ) //long preamble >> - Duration = LONG_PREAMBLE_PLUS_PLCPHEADER_TIME*2; >> + 2*PREAMBLE_PLUS_SIGNAL_PLUS_SIGNALEXTENSION + >> + ((BodyLen*8 + 22 + Rate*4 - 1)/(Rate*4))*Tsym + >> + ((112 + 22 + 95)/96)*Tsym; >> + } else { /*DSSS*/ >> + /*CTS duration >> + *2 SIFS + DATA transmit time + 1 ACK >> + * Rate : ?? Mega bps >> + *ACK frame length = 14 bytes*/ >> + if (pT01->T01_plcp_header_length) /*long preamble*/ >> + Duration = LONG_PREAMBLE_PLUS_PLCPHEADER_TIME*2; >> else >> - Duration = SHORT_PREAMBLE_PLUS_PLCPHEADER_TIME*2; >> + Duration = SHORT_PREAMBLE_PLUS_PLCPHEADER_TIME*2; >> >> - Duration += ( ((BodyLen + 14)*8 + Rate-1) / Rate + >> - DEFAULT_SIFSTIME*2 ); >> + Duration += (((BodyLen + 14)*8 + Rate-1) / Rate + >> + DEFAULT_SIFSTIME*2); >> } >> >> - if( RTS_on ) >> - { >> - if( pT01->T01_modulation_type ) // Is using OFDM >> - { >> - //CTS + 1 SIFS + CTS duration >> - //CTS Rate : 24 Mega bps >> - //CTS frame length = 14 bytes >> + if (RTS_on) { >> + if (pT01->T01_modulation_type) { /* Is using OFDM */ >> + /*CTS + 1 SIFS + CTS duration >> + *CTS Rate : 24 Mega bps >> + *CTS frame length = 14 bytes*/ >> Duration += (DEFAULT_SIFSTIME + >> - PREAMBLE_PLUS_SIGNAL_PLUS_SIGNALEXTENSION + >> - ((112 + 22 + 95)/96)*Tsym); >> - } >> - else >> - { >> - //CTS + 1 SIFS + CTS duration >> - //CTS Rate : ?? Mega bps >> - //CTS frame length = 14 bytes >> - if( pT01->T01_plcp_header_length ) //long preamble >> - Duration += LONG_PREAMBLE_PLUS_PLCPHEADER_TIME; >> - else >> - Duration += SHORT_PREAMBLE_PLUS_PLCPHEADER_TIME; >> - >> - Duration += ( ((112 + Rate-1) / Rate) + DEFAULT_SIFSTIME ); >> + PREAMBLE_PLUS_SIGNAL_PLUS_SIGNALEXTENSION + >> + ((112 + 22 + 95)/96)*Tsym); >> + } else { >> + /*CTS + 1 SIFS + CTS duration >> + *CTS Rate : ?? Mega bps >> + *CTS frame length = 14 bytes*/ >> + if (pT01->T01_plcp_header_length) /*long preamble*/ >> + Duration += LONG_PREAMBLE_PLUS_PLCPHEADER_TIME; >> + else >> + Duration += SHORT_PREAMBLE_PLUS_PLCPHEADER_TIME; >> + >> + Duration += (((112 + Rate-1) / Rate) >> + + DEFAULT_SIFSTIME); >> } >> } >> >> - // Set the value into USB descriptor >> + /* Set the value into USB descriptor */ >> pT01->T01_add_rts = RTS_on ? 1 : 0; >> pT01->T01_add_cts = CTS_on ? 1 : 0; >> pT01->T01_rts_cts_duration = Duration; >> } >> >> - //===================================== >> - // Fill the more fragment descriptor >> - //===================================== >> - if( boGroupAddr ) >> + /*===================================== >> + * Fill the more fragment descriptor >> + *=====================================*/ >> + if (boGroupAddr) >> Duration = 0; >> - else >> - { >> - for( i=pDes->FragmentCount-1; i>0; i-- ) >> - { >> + else { >> + for (i = pDes->FragmentCount-1; i > 0; i--) { >> NextBodyLen = (u16)pNextT00->T00_frame_length; >> - NextBodyLen += 4; //CRC >> - >> - if( pT01->T01_modulation_type ) >> - { >> - //OFDM >> - // data transmit time + 3 SIFS + 2 ACK >> - // Rate : ??Mega bps >> - // ACK frame length = 14 bytes, tx rate = 24M >> + NextBodyLen += 4; /*CRC*/ >> + >> + if (pT01->T01_modulation_type) { >> + /*OFDM >> + * data transmit time + 3 SIFS + 2 ACK >> + * Rate : ??Mega bps >> + * ACK frame length = 14 bytes, tx rate = 24M*/ >> Duration = PREAMBLE_PLUS_SIGNAL_PLUS_SIGNALEXTENSION * 3; >> Duration += (((NextBodyLen*8 + 22 + Rate*4 - 1)/(Rate*4)) * Tsym + >> (((2*14)*8 + 22 + 95)/96)*Tsym + >> DEFAULT_SIFSTIME*3); >> - } >> - else >> - { >> - //DSSS >> - // data transmit time + 2 ACK + 3 SIFS >> - // Rate : ??Mega bps >> - // ACK frame length = 14 bytes >> - //TODO : >> - if( pT01->T01_plcp_header_length ) //long preamble >> + } else { >> + /*DSSS >> + *data transmit time + 2 ACK + 3 SIFS >> + * Rate : ??Mega bps >> + * ACK frame length = 14 bytes >> + * TODO : */ >> + if (pT01->T01_plcp_header_length) /*long preamble*/ >> Duration = LONG_PREAMBLE_PLUS_PLCPHEADER_TIME*3; >> else >> Duration = SHORT_PREAMBLE_PLUS_PLCPHEADER_TIME*3; >> >> - Duration += ( ((NextBodyLen + (2*14))*8 + Rate-1) / Rate + >> - DEFAULT_SIFSTIME*3 ); >> + Duration += (((NextBodyLen + (2*14))*8 + Rate-1) / Rate + >> + DEFAULT_SIFSTIME*3); >> } >> >> - ((u16 *)buffer)[5] = cpu_to_le16(Duration);// 4 USHOR for skip 8B USB, 2USHORT=FC + Duration >> + ((u16 *)buffer)[5] = cpu_to_le16(Duration);/*4 USHOR for skip 8B USB, 2USHORT=FC + Duration*/ >> >> - //----20061009 add by anson's endian >> + /*----20061009 add by anson's endian*/ >> pNextT00->value = cpu_to_le32(pNextT00->value); >> - pT01->value = cpu_to_le32( pT01->value ); >> - //----end 20061009 add by anson's endian >> + pT01->value = cpu_to_le32(pT01->value); >> + /*----end 20061009 add by anson's endian*/ >> >> buffer += OffsetSize; >> pT01 = (PT01_DESCRIPTOR)(buffer+4); >> - if (i != 1) //The last fragment will not have the next fragment >> + if (i != 1) /* The last fragment will not have the >> + next fragment */ >> pNextT00 = (PT00_DESCRIPTOR)(buffer+OffsetSize); >> } >> >> - //===================================== >> - // Fill the last fragment descriptor >> - //===================================== >> - if( pT01->T01_modulation_type ) >> - { >> - //OFDM >> - // 1 SIFS + 1 ACK >> - // Rate : 24 Mega bps >> - // ACK frame length = 14 bytes >> + /*===================================== >> + * Fill the last fragment descriptor >> + *=====================================*/ >> + if (pT01->T01_modulation_type) { >> + /*OFDM >> + * 1 SIFS + 1 ACK >> + * Rate : 24 Mega bps >> + * ACK frame length = 14 bytes*/ >> Duration = PREAMBLE_PLUS_SIGNAL_PLUS_SIGNALEXTENSION; >> - //The Tx rate of ACK use 24M >> - Duration += (((112 + 22 + 95)/96)*Tsym + DEFAULT_SIFSTIME ); >> - } >> - else >> - { >> - // DSSS >> - // 1 ACK + 1 SIFS >> - // Rate : ?? Mega bps >> - // ACK frame length = 14 bytes(112 bits) >> - if( pT01->T01_plcp_header_length ) //long preamble >> + /*The Tx rate of ACK use 24M*/ >> + Duration += (((112 + 22 + 95)/96)*Tsym + DEFAULT_SIFSTIME); >> + } else { >> + /* DSSS >> + * 1 ACK + 1 SIFS >> + * Rate : ?? Mega bps >> + * ACK frame length = 14 bytes(112 bits)*/ >> + if (pT01->T01_plcp_header_length) /*long preamble*/ >> Duration = LONG_PREAMBLE_PLUS_PLCPHEADER_TIME; >> else >> Duration = SHORT_PREAMBLE_PLUS_PLCPHEADER_TIME; >> >> - Duration += ( (112 + Rate-1)/Rate + DEFAULT_SIFSTIME ); >> + Duration += ((112 + Rate-1)/Rate + DEFAULT_SIFSTIME); >> } >> } >> >> - ((u16 *)buffer)[5] = cpu_to_le16(Duration);// 4 USHOR for skip 8B USB, 2USHORT=FC + Duration >> + ((u16 *)buffer)[5] = cpu_to_le16(Duration);/* 4 USHOR for skip 8B USB, >> + 2USHORT=FC + Duration*/ >> pT00->value = cpu_to_le32(pT00->value); >> pT01->value = cpu_to_le32(pT01->value); >> - //--end 20061009 add >> + /*--end 20061009 add*/ >> >> } >> >> -// The function return the 4n size of usb pk >> -static u16 Mds_BodyCopy(struct wbsoft_priv *adapter, struct wb35_descriptor *pDes, u8 *TargetBuffer) >> +/* The function return the 4n size of usb pk*/ >> +static u16 Mds_BodyCopy(struct wbsoft_priv *adapter, >> + struct wb35_descriptor *pDes, u8 *TargetBuffer) >> { >> PT00_DESCRIPTOR pT00; >> struct wb35_mds *pMds = &adapter->Mds; >> - u8 *buffer; >> - u8 *src_buffer; >> - u8 *pctmp; >> - u16 Size = 0; >> - u16 SizeLeft, CopySize, CopyLeft, stmp; >> - u8 buf_index, FragmentCount = 0; >> + u8 *buffer; >> + u8 *src_buffer; >> + u8 *pctmp; >> + u16 Size = 0; >> + u16 SizeLeft, CopySize, CopyLeft, stmp; >> + u8 buf_index, FragmentCount = 0; >> >> >> - // Copy fragment body >> - buffer = TargetBuffer; // shift 8B usb + 24B 802.11 >> + /* Copy fragment body */ >> + buffer = TargetBuffer; /* shift 8B usb + 24B 802.11 */ >> SizeLeft = pDes->buffer_total_size; >> buf_index = pDes->buffer_start_index; >> >> @@ -240,39 +226,39 @@ static u16 Mds_BodyCopy(struct wbsoft_priv *adapter, struct wb35_descriptor *pDe >> CopySize = SizeLeft; >> if (SizeLeft > pDes->FragmentThreshold) { >> CopySize = pDes->FragmentThreshold; >> - pT00->T00_frame_length = 24 + CopySize;//Set USB length >> + pT00->T00_frame_length = 24 + CopySize;/*Set USBlength*/ >> } else >> - pT00->T00_frame_length = 24 + SizeLeft;//Set USB length >> + pT00->T00_frame_length = 24 + SizeLeft;/*Set USBlength*/ >> >> SizeLeft -= CopySize; >> >> - // 1 Byte operation >> - pctmp = (u8 *)( buffer + 8 + DOT_11_SEQUENCE_OFFSET ); >> + /* 1 Byte operation */ >> + pctmp = (u8 *)(buffer + 8 + DOT_11_SEQUENCE_OFFSET); >> *pctmp &= 0xf0; >> - *pctmp |= FragmentCount;//931130.5.m >> - if( !FragmentCount ) >> + *pctmp |= FragmentCount;/*931130.5.m*/ >> + if (!FragmentCount) >> pT00->T00_first_mpdu = 1; >> >> - buffer += 32; // 8B usb + 24B 802.11 header >> + buffer += 32; /* 8B usb + 24B 802.11 header */ >> Size += 32; >> >> - // Copy into buffer >> + /* Copy into buffer */ >> stmp = CopySize + 3; >> - stmp &= ~0x03;//4n Alignment >> - Size += stmp;// Current 4n offset of mpdu >> + stmp &= ~0x03; /* 4n Alignment */ >> + Size += stmp; /* Current 4n offset of mpdu */ >> >> while (CopySize) { >> - // Copy body >> + /* Copy body */ >> src_buffer = pDes->buffer_address[buf_index]; >> CopyLeft = CopySize; >> if (CopySize >= pDes->buffer_size[buf_index]) { >> CopyLeft = pDes->buffer_size[buf_index]; >> >> - // Get the next buffer of descriptor >> + /* Get the next buffer of descriptor */ >> buf_index++; >> buf_index %= MAX_DESCRIPTOR_BUFFER_INDEX; >> } else { >> - u8 *pctmp = pDes->buffer_address[buf_index]; >> + u8 *pctmp = pDes->buffer_address[buf_index]; >> pctmp += CopySize; >> pDes->buffer_address[buf_index] = pctmp; >> pDes->buffer_size[buf_index] -= CopySize; >> @@ -283,26 +269,30 @@ static u16 Mds_BodyCopy(struct wbsoft_priv *adapter, struct wb35_descriptor *pDe >> CopySize -= CopyLeft; >> } >> >> - // 931130.5.n >> + /* 931130.5.n */ >> if (pMds->MicAdd) { >> if (!SizeLeft) { >> - pMds->MicWriteAddress[ pMds->MicWriteIndex ] = buffer - pMds->MicAdd; >> - pMds->MicWriteSize[ pMds->MicWriteIndex ] = pMds->MicAdd; >> + pMds->MicWriteAddress[pMds->MicWriteIndex] = >> + buffer - pMds->MicAdd; >> + pMds->MicWriteSize[pMds->MicWriteIndex] = >> + pMds->MicAdd; >> pMds->MicAdd = 0; >> - } >> - else if( SizeLeft < 8 ) //931130.5.p >> - { >> + } else if (SizeLeft < 8) { /*931130.5.p*/ >> pMds->MicAdd = SizeLeft; >> - pMds->MicWriteAddress[ pMds->MicWriteIndex ] = buffer - ( 8 - SizeLeft ); >> - pMds->MicWriteSize[ pMds->MicWriteIndex ] = 8 - SizeLeft; >> + pMds->MicWriteAddress[pMds->MicWriteIndex] = >> + buffer - (8 - SizeLeft); >> + pMds->MicWriteSize[pMds->MicWriteIndex] = >> + 8 - SizeLeft; >> pMds->MicWriteIndex++; >> } >> } >> >> - // Does it need to generate the new header for next mpdu? >> + /* Does it need to generate the new header for next mpdu? */ >> if (SizeLeft) { >> - buffer = TargetBuffer + Size; // Get the next 4n start address >> - memcpy( buffer, TargetBuffer, 32 );//Copy 8B USB +24B 802.11 >> + buffer = TargetBuffer + Size; /* Get the next 4n >> + start address */ >> + memcpy(buffer, TargetBuffer, 32);/*Copy 8B USB >> + +24B 802.11*/ >> pT00 = (PT00_DESCRIPTOR)buffer; >> pT00->T00_first_mpdu = 0; >> } >> @@ -312,62 +302,64 @@ static u16 Mds_BodyCopy(struct wbsoft_priv *adapter, struct wb35_descriptor *pDe >> >> pT00->T00_last_mpdu = 1; >> pT00->T00_IsLastMpdu = 1; >> - buffer = (u8 *)pT00 + 8; // +8 for USB hdr >> - buffer[1] &= ~0x04; // Clear more frag bit of 802.11 frame control >> - pDes->FragmentCount = FragmentCount; // Update the correct fragment number >> + buffer = (u8 *)pT00 + 8; /* +8 for USB hdr */ >> + buffer[1] &= ~0x04; /* Clear more frag bit of 802.11 frame control*/ >> + pDes->FragmentCount = FragmentCount; /* Update the correct >> + fragment number */ >> return Size; >> } >> >> -static void Mds_HeaderCopy(struct wbsoft_priv * adapter, struct wb35_descriptor *pDes, u8 *TargetBuffer) >> +static void Mds_HeaderCopy(struct wbsoft_priv *adapter, >> + struct wb35_descriptor *pDes, u8 *TargetBuffer) >> { >> struct wb35_mds *pMds = &adapter->Mds; >> - u8 *src_buffer = pDes->buffer_address[0];//931130.5.g >> + u8 *src_buffer = pDes->buffer_address[0];/*931130.5.g*/ >> PT00_DESCRIPTOR pT00; >> PT01_DESCRIPTOR pT01; >> - u16 stmp; >> - u8 i, ctmp1, ctmp2, ctmpf; >> - u16 FragmentThreshold = CURRENT_FRAGMENT_THRESHOLD; >> + u16 stmp; >> + u8 i, ctmp1, ctmp2, ctmpf; >> + u16 FragmentThreshold = CURRENT_FRAGMENT_THRESHOLD; >> >> >> stmp = pDes->buffer_total_size; >> - // >> - // Set USB header 8 byte >> - // >> + /* >> + *Set USB header 8 byte >> + */ >> pT00 = (PT00_DESCRIPTOR)TargetBuffer; >> TargetBuffer += 4; >> pT01 = (PT01_DESCRIPTOR)TargetBuffer; >> TargetBuffer += 4; >> >> - pT00->value = 0;// Clear >> - pT01->value = 0;// Clear >> + pT00->value = 0;/* Clear */ >> + pT01->value = 0;/* Clear */ >> >> - 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 >> + 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*/ >> >> - // Key ID setup >> + /* Key ID setup */ >> pT01->T01_wep_id = 0; >> >> - FragmentThreshold = DEFAULT_FRAGMENT_THRESHOLD; //Do not fragment >> - // Copy full data, the 1'st buffer contain all the data 931130.5.j >> - memcpy( TargetBuffer, src_buffer, DOT_11_MAC_HEADER_SIZE );// Copy header >> + FragmentThreshold = DEFAULT_FRAGMENT_THRESHOLD; /*Do not fragment*/ >> + /* Copy full data, the 1'st buffer contain all the data 931130.5.j*/ >> + memcpy(TargetBuffer, src_buffer, DOT_11_MAC_HEADER_SIZE);/*Copy header*/ >> pDes->buffer_address[0] = src_buffer + DOT_11_MAC_HEADER_SIZE; >> pDes->buffer_total_size -= DOT_11_MAC_HEADER_SIZE; >> pDes->buffer_size[0] = pDes->buffer_total_size; >> >> - // Set fragment threshold >> + /* Set fragment threshold */ >> FragmentThreshold -= (DOT_11_MAC_HEADER_SIZE + 4); >> pDes->FragmentThreshold = FragmentThreshold; >> >> - // Set more frag bit >> - TargetBuffer[1] |= 0x04;// Set more frag bit >> + /* Set more frag bit */ >> + TargetBuffer[1] |= 0x04;/* Set more frag bit*/ >> >> - // >> - // Set tx rate >> - // >> - stmp = *(u16 *)(TargetBuffer+30); // 2n alignment address >> + /* >> + * Set tx rate >> + */ >> + stmp = *(u16 *)(TargetBuffer+30); /* 2n alignment address */ >> >> - //Use basic rate >> + /* Use basic rate */ >> ctmp1 = ctmpf = CURRENT_TX_RATE_FOR_MNG; >> >> pDes->TxRate = ctmp1; >> @@ -377,53 +369,65 @@ static void Mds_HeaderCopy(struct wbsoft_priv * adapter, struct wb35_descriptor >> >> pT01->T01_modulation_type = (ctmp1%3) ? 0 : 1; >> >> - for( i=0; i<2; i++ ) { >> - if( i == 1 ) >> + for (i = 0; i < 2; i++) { >> + if (i == 1) >> ctmp1 = ctmpf; >> >> - 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 >> - else if( ctmp1 == 72 ) ctmp2 = 5; >> - else if( ctmp1 == 48 ) ctmp2 = 4; >> - else if( ctmp1 == 36 ) ctmp2 = 3; >> - else if( ctmp1 == 24 ) ctmp2 = 2; >> - else if( ctmp1 == 18 ) ctmp2 = 1; >> - else if( ctmp1 == 12 ) ctmp2 = 0; >> - else if( ctmp1 == 22 ) ctmp2 = 3; >> - else if( ctmp1 == 11 ) ctmp2 = 2; >> - else if( ctmp1 == 4 ) ctmp2 = 1; >> - else ctmp2 = 0; // if( ctmp1 == 2 ) or default >> - >> - if( i == 0 ) >> + 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 */ >> + else if (ctmp1 == 72) >> + ctmp2 = 5; >> + else if (ctmp1 == 48) >> + ctmp2 = 4; >> + else if (ctmp1 == 36) >> + ctmp2 = 3; >> + else if (ctmp1 == 24) >> + ctmp2 = 2; >> + else if (ctmp1 == 18) >> + ctmp2 = 1; >> + else if (ctmp1 == 12) >> + ctmp2 = 0; >> + else if (ctmp1 == 22) >> + ctmp2 = 3; >> + else if (ctmp1 == 11) >> + ctmp2 = 2; >> + else if (ctmp1 == 4) >> + ctmp2 = 1; >> + else >> + ctmp2 = 0; /*if (ctmp1 == 2) or default*/ >> + >> + if (i == 0) >> pT01->T01_transmit_rate = ctmp2; >> else >> pT01->T01_fall_back_rate = ctmp2; >> } >> >> - // >> - // Set preamble type >> - // >> - if ((pT01->T01_modulation_type == 0) && (pT01->T01_transmit_rate == 0)) // RATE_1M >> - pDes->PreambleMode = WLAN_PREAMBLE_TYPE_LONG; >> + /* >> + * Set preamble type >> + */ >> + if ((pT01->T01_modulation_type == 0) && (pT01->T01_transmit_rate == 0)) >> + /* RATE_1M */ >> + pDes->PreambleMode = WLAN_PREAMBLE_TYPE_LONG; >> else >> - pDes->PreambleMode = CURRENT_PREAMBLE_MODE; >> - pT01->T01_plcp_header_length = pDes->PreambleMode; // Set preamble >> - >> + pDes->PreambleMode = CURRENT_PREAMBLE_MODE; >> + pT01->T01_plcp_header_length = pDes->PreambleMode;/* Set preamble */ >> } >> >> -void >> -Mds_Tx(struct wbsoft_priv * adapter) >> +void Mds_Tx(struct wbsoft_priv *adapter) >> { >> - struct hw_data * pHwData = &adapter->sHwData; >> - struct wb35_mds *pMds = &adapter->Mds; >> + struct hw_data *pHwData = &adapter->sHwData; >> + struct wb35_mds *pMds = &adapter->Mds; >> struct wb35_descriptor TxDes; >> - struct wb35_descriptor *pTxDes = &TxDes; >> - u8 *XmitBufAddress; >> - u16 XmitBufSize, PacketSize, stmp, CurrentSize, FragmentThreshold; >> - u8 FillIndex, TxDesIndex, FragmentCount, FillCount; >> - unsigned char BufferFilled = false; >> + struct wb35_descriptor *pTxDes = &TxDes; >> + u8 *XmitBufAddress; >> + u16 XmitBufSize, PacketSize, stmp, CurrentSize, FragmentThreshold; >> + u8 FillIndex, TxDesIndex, FragmentCount, FillCount; >> + unsigned char BufferFilled = false; >> >> >> if (pMds->TxPause) >> @@ -431,21 +435,23 @@ Mds_Tx(struct wbsoft_priv * adapter) >> if (!hal_driver_init_OK(pHwData)) >> return; >> >> - //Only one thread can be run here >> + /*Only one thread can be run here*/ >> if (atomic_inc_return(&pMds->TxThreadCount) != 1) >> goto cleanup; >> >> - // Start to fill the data >> + /*Start to fill the data*/ >> do { >> FillIndex = pMds->TxFillIndex; >> - if (pMds->TxOwner[FillIndex]) { // Is owned by software 0:Yes 1:No >> -#ifdef _PE_TX_DUMP_ >> + if (pMds->TxOwner[FillIndex]) { /* Is owned by >> + software 0:Yes 1:No*/ >> + #ifdef _PE_TX_DUMP_ >> printk("[Mds_Tx] Tx Owner is H/W.\n"); >> -#endif >> + #endif >> break; >> } >> >> - XmitBufAddress = pMds->pTxBuffer + (MAX_USB_TX_BUFFER * FillIndex); //Get buffer >> + XmitBufAddress = pMds->pTxBuffer + >> + (MAX_USB_TX_BUFFER * FillIndex); /*Get buffer*/ >> XmitBufSize = 0; >> FillCount = 0; >> do { >> @@ -453,79 +459,89 @@ Mds_Tx(struct wbsoft_priv * adapter) >> if (!PacketSize) >> break; >> >> - //For Check the buffer resource >> + /*For Check the buffer resource*/ >> FragmentThreshold = CURRENT_FRAGMENT_THRESHOLD; >> - //931130.5.b >> - FragmentCount = PacketSize/FragmentThreshold + 1; >> - stmp = PacketSize + FragmentCount*32 + 8;//931130.5.c 8:MIC >> + /*931130.5.b*/ >> + FragmentCount = PacketSize / FragmentThreshold + 1; >> + stmp = PacketSize + >> + FragmentCount * 32 + 8;/*931130.5.c 8:MIC*/ >> if ((XmitBufSize + stmp) >= MAX_USB_TX_BUFFER) { >> printk("[Mds_Tx] Excess max tx buffer.\n"); >> - break; // buffer is not enough >> + break; /* buffer is not enough */ >> } >> >> - >> - // >> - // Start transmitting >> - // >> + /* >> + * Start transmitting >> + */ >> BufferFilled = true; >> >> /* Leaves first u8 intact */ >> - memset((u8 *)pTxDes + 1, 0, sizeof(struct wb35_descriptor) - 1); >> + memset((u8 *)pTxDes + 1, 0, >> + sizeof(struct wb35_descriptor) - 1); >> >> - TxDesIndex = pMds->TxDesIndex;//Get the current ID >> + TxDesIndex = pMds->TxDesIndex; /*Get the current ID*/ >> pTxDes->Descriptor_ID = TxDesIndex; >> - pMds->TxDesFrom[ TxDesIndex ] = 2;//Storing the information of source comming from >> + pMds->TxDesFrom[TxDesIndex] = 2; /*Storing the >> + information of source comming from*/ >> pMds->TxDesIndex++; >> pMds->TxDesIndex %= MAX_USB_TX_DESCRIPTOR; >> >> - MLME_GetNextPacket( adapter, pTxDes ); >> + MLME_GetNextPacket(adapter, pTxDes); >> >> - // Copy header. 8byte USB + 24byte 802.11Hdr. Set TxRate, Preamble type >> - Mds_HeaderCopy( adapter, pTxDes, XmitBufAddress ); >> + /* Copy header. 8byte USB + 24byte 802.11Hdr. >> + * Set TxRate, Preamble type */ >> + Mds_HeaderCopy(adapter, pTxDes, XmitBufAddress); >> >> - // For speed up Key setting >> + /* For speed up Key setting */ >> if (pTxDes->EapFix) { >> #ifdef _PE_TX_DUMP_ >> - printk("35: EPA 4th frame detected. Size = %d\n", PacketSize); >> + printk("35: EPA 4th frame detected. " >> + "Size = %d\n", PacketSize); >> #endif >> pHwData->IsKeyPreSet = 1; >> } >> >> - // Copy (fragment) frame body, and set USB, 802.11 hdr flag >> - CurrentSize = Mds_BodyCopy(adapter, pTxDes, XmitBufAddress); >> + /* Copy (fragment) frame body, >> + * and set USB, 802.11 hdr flag*/ >> + CurrentSize = Mds_BodyCopy(adapter, >> + pTxDes, XmitBufAddress); >> >> - // Set RTS/CTS and Normal duration field into buffer >> + /* Set RTS/CTS and Normal duration field into buffer*/ >> Mds_DurationSet(adapter, pTxDes, XmitBufAddress); >> >> - //Shift to the next address >> + /* Shift to the next address */ >> XmitBufSize += CurrentSize; >> XmitBufAddress += CurrentSize; >> >> #ifdef _IBSS_BEACON_SEQ_STICK_ >> - if ((XmitBufAddress[ DOT_11_DA_OFFSET+8 ] & 0xfc) != MAC_SUBTYPE_MNGMNT_PROBE_REQUEST) // +8 for USB hdr >> + if ((XmitBufAddress[DOT_11_DA_OFFSET+8] & 0xfc) != >> + MAC_SUBTYPE_MNGMNT_PROBE_REQUEST) /* +8 for USB hdr*/ >> #endif >> pMds->TxToggle = true; >> >> - // Get packet to transmit completed, 1:TESTSTA 2:MLME 3: Ndis data >> + /* Get packet to transmit completed, >> + * 1:TESTSTA 2:MLME 3: Ndis data */ >> MLME_SendComplete(adapter, 0, true); >> >> - // Software TSC count 20060214 >> + /* Software TSC count 20060214 */ >> pMds->TxTsc++; >> if (pMds->TxTsc == 0) >> pMds->TxTsc_2++; >> >> - FillCount++; // 20060928 >> - } while (HAL_USB_MODE_BURST(pHwData)); // End of multiple MSDU copy loop. false = single true = multiple sending >> + FillCount++; /* 20060928 */ >> + /* End of multiple MSDU copy loop. false = single sending >> + * true = multiple sending*/ >> + } while (HAL_USB_MODE_BURST(pHwData)); >> >> - // Move to the next one, if necessary >> + /* Move to the next one, if necessary */ >> if (BufferFilled) { >> - // size setting >> - pMds->TxBufferSize[ FillIndex ] = XmitBufSize; >> + /* size setting */ >> + pMds->TxBufferSize[FillIndex] = XmitBufSize; >> >> - // 20060928 set Tx count >> + /* 20060928 set Tx count */ >> pMds->TxCountInBuffer[FillIndex] = FillCount; >> >> - // Set owner flag >> + /* Set owner flag */ >> pMds->TxOwner[FillIndex] = 1; >> >> pMds->TxFillIndex++; >> @@ -534,14 +550,14 @@ Mds_Tx(struct wbsoft_priv * 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 >> - // >> + /* >> + * Start to send by lower module >> + */ >> if (!pHwData->IsKeyPreSet) >> Wb35Tx_start(adapter); >> >> @@ -549,30 +565,28 @@ Mds_Tx(struct wbsoft_priv * adapter) >> atomic_dec(&pMds->TxThreadCount); >> } >> >> -void >> -Mds_SendComplete(struct wbsoft_priv * adapter, PT02_DESCRIPTOR pT02) >> +void Mds_SendComplete(struct wbsoft_priv *adapter, PT02_DESCRIPTOR pT02) >> { >> - struct wb35_mds *pMds = &adapter->Mds; >> - struct hw_data * pHwData = &adapter->sHwData; >> - u8 PacketId = (u8)pT02->T02_Tx_PktID; >> + struct wb35_mds *pMds = &adapter->Mds; >> + struct hw_data *pHwData = &adapter->sHwData; >> + u8 PacketId = (u8)pT02->T02_Tx_PktID; >> unsigned char SendOK = true; >> - u8 RetryCount, TxRate; >> + u8 RetryCount, TxRate; >> >> - if (pT02->T02_IgnoreResult) // Don't care the result >> + if (pT02->T02_IgnoreResult) /* Don't care the result */ >> return; >> if (pT02->T02_IsLastMpdu) { >> - //TODO: DTO -- get the retry count and fragment count >> - // Tx rate >> - TxRate = pMds->TxRate[ PacketId ][ 0 ]; >> + /*TODO: DTO -- get the retry count and fragment count Tx rate*/ >> + TxRate = pMds->TxRate[PacketId][0]; >> RetryCount = (u8)pT02->T02_MPDU_Cnt; >> if (pT02->value & FLAG_ERROR_TX_MASK) { >> SendOK = false; >> >> if (pT02->T02_transmit_abort || pT02->T02_out_of_MaxTxMSDULiftTime) { >> - //retry error >> + /* retry error */ >> pHwData->dto_tx_retry_count += (RetryCount+1); >> - //[for tx debug] >> - if (RetryCount<7) >> + /* [for tx debug] */ >> + if (RetryCount < 7) >> pHwData->tx_retry_count[RetryCount] += RetryCount; >> else >> pHwData->tx_retry_count[7] += RetryCount; >> @@ -583,7 +597,7 @@ Mds_SendComplete(struct wbsoft_priv * adapter, PT02_DESCRIPTOR pT02) >> } >> pHwData->dto_tx_frag_count += (RetryCount+1); >> >> - //[for tx debug] >> + /* [for tx debug] */ >> if (pT02->T02_transmit_abort_due_to_TBTT) >> pHwData->tx_TBTT_start_count++; >> if (pT02->T02_transmit_without_encryption_due_to_wep_on_false) >> @@ -596,8 +610,8 @@ Mds_SendComplete(struct wbsoft_priv * adapter, PT02_DESCRIPTOR pT02) >> MTO_SetTxCount(adapter, TxRate, RetryCount); >> } >> >> - // Clear send result buffer >> - pMds->TxResult[ PacketId ] = 0; >> + /* Clear send result buffer */ >> + pMds->TxResult[PacketId] = 0; >> } else >> - pMds->TxResult[ PacketId ] |= ((u16)(pT02->value & 0x0ffff)); >> + pMds->TxResult[PacketId] |= ((u16)(pT02->value & 0x0ffff)); >> } > _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel