aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMalcolm Priestley <tvboxspy@gmail.com>2013-08-27 07:02:54 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-08-27 19:54:39 -0400
commit351c7dc3f7864c79d51d79dbc68ae15a12d1590d (patch)
tree9f7547aa4f7f59d729b25195ab29c0c750d5887b
parentf46142b0bbde093e9faa8cc6172057e515d17653 (diff)
staging: vt6656: rxtx.c merge pvRTS and pvCTS/pCTS void pointers
As result of patch rxtx.c s_vGenerateTxParameter create argument bool need rts RTS and CTS void pointers can be merged. Create new pointer rts_cts so that unions in s_vFillCTSHead/s_vFillRTSHead can be joined. If rts_cts is NULL neither exist. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/vt6656/rxtx.c86
1 files changed, 36 insertions, 50 deletions
diff --git a/drivers/staging/vt6656/rxtx.c b/drivers/staging/vt6656/rxtx.c
index 2fd71c3c06cb..c9f6ffc8a021 100644
--- a/drivers/staging/vt6656/rxtx.c
+++ b/drivers/staging/vt6656/rxtx.c
@@ -100,7 +100,7 @@ static void *s_vGetFreeContext(struct vnt_private *pDevice);
100 100
101static void s_vGenerateTxParameter(struct vnt_private *pDevice, 101static void s_vGenerateTxParameter(struct vnt_private *pDevice,
102 u8 byPktType, u16 wCurrentRate, void *pTxBufHead, void *pvRrvTime, 102 u8 byPktType, u16 wCurrentRate, void *pTxBufHead, void *pvRrvTime,
103 void *pvRTS, void *pvCTS, u32 cbFrameSize, int bNeedACK, u32 uDMAIdx, 103 void *rts_cts, u32 cbFrameSize, int bNeedACK, u32 uDMAIdx,
104 struct ethhdr *psEthHeader, bool need_rts); 104 struct ethhdr *psEthHeader, bool need_rts);
105 105
106static u32 s_uFillDataHead(struct vnt_private *pDevice, 106static u32 s_uFillDataHead(struct vnt_private *pDevice,
@@ -828,7 +828,7 @@ static void s_vFillCTSHead(struct vnt_private *pDevice, u32 uDMAIdx,
828 828
829static void s_vGenerateTxParameter(struct vnt_private *pDevice, 829static void s_vGenerateTxParameter(struct vnt_private *pDevice,
830 u8 byPktType, u16 wCurrentRate, void *pTxBufHead, void *pvRrvTime, 830 u8 byPktType, u16 wCurrentRate, void *pTxBufHead, void *pvRrvTime,
831 void *pvRTS, void *pvCTS, u32 cbFrameSize, int bNeedACK, u32 uDMAIdx, 831 void *rts_cts, u32 cbFrameSize, int bNeedACK, u32 uDMAIdx,
832 struct ethhdr *psEthHeader, bool need_rts) 832 struct ethhdr *psEthHeader, bool need_rts)
833{ 833{
834 u32 cbMACHdLen = WLAN_HDR_ADDR3_LEN; /* 24 */ 834 u32 cbMACHdLen = WLAN_HDR_ADDR3_LEN; /* 24 */
@@ -869,9 +869,9 @@ static void s_vGenerateTxParameter(struct vnt_private *pDevice,
869 pBuf->wTxRrvTime_b = vnt_rxtx_rsvtime_le16(pDevice, 869 pBuf->wTxRrvTime_b = vnt_rxtx_rsvtime_le16(pDevice,
870 PK_TYPE_11B, cbFrameSize, pDevice->byTopCCKBasicRate, 870 PK_TYPE_11B, cbFrameSize, pDevice->byTopCCKBasicRate,
871 bNeedACK); 871 bNeedACK);
872 //Fill RTS 872 /* Fill RTS */
873 s_vFillRTSHead(pDevice, byPktType, pvRTS, cbFrameSize, bNeedACK, 873 s_vFillRTSHead(pDevice, byPktType, rts_cts, cbFrameSize,
874 psEthHeader, wCurrentRate, byFBOption); 874 bNeedACK, psEthHeader, wCurrentRate, byFBOption);
875 } 875 }
876 else {//RTS_needless, PCF mode 876 else {//RTS_needless, PCF mode
877 //Fill RsvTime 877 //Fill RsvTime
@@ -884,9 +884,9 @@ static void s_vGenerateTxParameter(struct vnt_private *pDevice,
884 pDevice->byTopCCKBasicRate, bNeedACK); 884 pDevice->byTopCCKBasicRate, bNeedACK);
885 pBuf->wCTSTxRrvTime_ba = s_uGetRTSCTSRsvTime(pDevice, 3, 885 pBuf->wCTSTxRrvTime_ba = s_uGetRTSCTSRsvTime(pDevice, 3,
886 byPktType, cbFrameSize, wCurrentRate); 886 byPktType, cbFrameSize, wCurrentRate);
887 //Fill CTS 887 /* Fill CTS */
888 s_vFillCTSHead(pDevice, uDMAIdx, byPktType, pvCTS, cbFrameSize, 888 s_vFillCTSHead(pDevice, uDMAIdx, byPktType, rts_cts,
889 bNeedACK, wCurrentRate, byFBOption); 889 cbFrameSize, bNeedACK, wCurrentRate, byFBOption);
890 } 890 }
891 } 891 }
892 else if (byPktType == PK_TYPE_11A) { 892 else if (byPktType == PK_TYPE_11A) {
@@ -898,9 +898,9 @@ static void s_vGenerateTxParameter(struct vnt_private *pDevice,
898 byPktType, cbFrameSize, wCurrentRate); 898 byPktType, cbFrameSize, wCurrentRate);
899 pBuf->wTxRrvTime = vnt_rxtx_rsvtime_le16(pDevice, byPktType, 899 pBuf->wTxRrvTime = vnt_rxtx_rsvtime_le16(pDevice, byPktType,
900 cbFrameSize, wCurrentRate, bNeedACK); 900 cbFrameSize, wCurrentRate, bNeedACK);
901 //Fill RTS 901 /* Fill RTS */
902 s_vFillRTSHead(pDevice, byPktType, pvRTS, cbFrameSize, bNeedACK, 902 s_vFillRTSHead(pDevice, byPktType, rts_cts, cbFrameSize,
903 psEthHeader, wCurrentRate, byFBOption); 903 bNeedACK, psEthHeader, wCurrentRate, byFBOption);
904 } else { 904 } else {
905 //Fill RsvTime 905 //Fill RsvTime
906 struct vnt_rrv_time_ab *pBuf = 906 struct vnt_rrv_time_ab *pBuf =
@@ -918,9 +918,9 @@ static void s_vGenerateTxParameter(struct vnt_private *pDevice,
918 byPktType, cbFrameSize, wCurrentRate); 918 byPktType, cbFrameSize, wCurrentRate);
919 pBuf->wTxRrvTime = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11B, 919 pBuf->wTxRrvTime = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11B,
920 cbFrameSize, wCurrentRate, bNeedACK); 920 cbFrameSize, wCurrentRate, bNeedACK);
921 //Fill RTS 921 /* Fill RTS */
922 s_vFillRTSHead(pDevice, byPktType, pvRTS, cbFrameSize, bNeedACK, 922 s_vFillRTSHead(pDevice, byPktType, rts_cts, cbFrameSize,
923 psEthHeader, wCurrentRate, byFBOption); 923 bNeedACK, psEthHeader, wCurrentRate, byFBOption);
924 } 924 }
925 else { //RTS_needless, non PCF mode 925 else { //RTS_needless, non PCF mode
926 //Fill RsvTime 926 //Fill RsvTime
@@ -959,8 +959,7 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType,
959 u32 cbHeaderLength = 0, uPadding = 0; 959 u32 cbHeaderLength = 0, uPadding = 0;
960 void *pvRrvTime; 960 void *pvRrvTime;
961 struct vnt_mic_hdr *pMICHDR; 961 struct vnt_mic_hdr *pMICHDR;
962 void *pvRTS; 962 void *rts_cts = NULL;
963 void *pvCTS;
964 void *pvTxDataHd; 963 void *pvTxDataHd;
965 u8 byFBOption = AUTO_FB_NONE, byFragType; 964 u8 byFBOption = AUTO_FB_NONE, byFragType;
966 u16 wTxBufSize; 965 u16 wTxBufSize;
@@ -968,7 +967,7 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType,
968 u32 *pdwMIC_L, *pdwMIC_R; 967 u32 *pdwMIC_L, *pdwMIC_R;
969 int bSoftWEP = false; 968 int bSoftWEP = false;
970 969
971 pvRrvTime = pMICHDR = pvRTS = pvCTS = pvTxDataHd = NULL; 970 pvRrvTime = pMICHDR = pvTxDataHd = NULL;
972 971
973 if (bNeedEncryption && pTransmitKey->pvKeyTable) { 972 if (bNeedEncryption && pTransmitKey->pvKeyTable) {
974 if (((PSKeyTable)pTransmitKey->pvKeyTable)->bSoftWEP == true) 973 if (((PSKeyTable)pTransmitKey->pvKeyTable)->bSoftWEP == true)
@@ -1098,9 +1097,8 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType,
1098 (pbyTxBufferAddr + wTxBufSize); 1097 (pbyTxBufferAddr + wTxBufSize);
1099 pMICHDR = (struct vnt_mic_hdr *)(pbyTxBufferAddr + wTxBufSize + 1098 pMICHDR = (struct vnt_mic_hdr *)(pbyTxBufferAddr + wTxBufSize +
1100 sizeof(struct vnt_rrv_time_rts)); 1099 sizeof(struct vnt_rrv_time_rts));
1101 pvRTS = (struct vnt_rts_g *) (pbyTxBufferAddr + wTxBufSize + 1100 rts_cts = (struct vnt_rts_g *) (pbyTxBufferAddr + wTxBufSize +
1102 sizeof(struct vnt_rrv_time_rts) + cbMICHDR); 1101 sizeof(struct vnt_rrv_time_rts) + cbMICHDR);
1103 pvCTS = NULL;
1104 pvTxDataHd = (struct vnt_tx_datahead_g *) (pbyTxBufferAddr + 1102 pvTxDataHd = (struct vnt_tx_datahead_g *) (pbyTxBufferAddr +
1105 wTxBufSize + sizeof(struct vnt_rrv_time_rts) + 1103 wTxBufSize + sizeof(struct vnt_rrv_time_rts) +
1106 cbMICHDR + sizeof(struct vnt_rts_g)); 1104 cbMICHDR + sizeof(struct vnt_rts_g));
@@ -1113,8 +1111,7 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType,
1113 (pbyTxBufferAddr + wTxBufSize); 1111 (pbyTxBufferAddr + wTxBufSize);
1114 pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize + 1112 pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize +
1115 sizeof(struct vnt_rrv_time_cts)); 1113 sizeof(struct vnt_rrv_time_cts));
1116 pvRTS = NULL; 1114 rts_cts = (struct vnt_cts *) (pbyTxBufferAddr + wTxBufSize +
1117 pvCTS = (struct vnt_cts *) (pbyTxBufferAddr + wTxBufSize +
1118 sizeof(struct vnt_rrv_time_cts) + cbMICHDR); 1115 sizeof(struct vnt_rrv_time_cts) + cbMICHDR);
1119 pvTxDataHd = (struct vnt_tx_datahead_g *)(pbyTxBufferAddr + 1116 pvTxDataHd = (struct vnt_tx_datahead_g *)(pbyTxBufferAddr +
1120 wTxBufSize + sizeof(struct vnt_rrv_time_cts) + 1117 wTxBufSize + sizeof(struct vnt_rrv_time_cts) +
@@ -1130,9 +1127,8 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType,
1130 wTxBufSize); 1127 wTxBufSize);
1131 pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize + 1128 pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize +
1132 sizeof(struct vnt_rrv_time_rts)); 1129 sizeof(struct vnt_rrv_time_rts));
1133 pvRTS = (struct vnt_rts_g_fb *) (pbyTxBufferAddr + wTxBufSize + 1130 rts_cts = (struct vnt_rts_g_fb *)(pbyTxBufferAddr + wTxBufSize +
1134 sizeof(struct vnt_rrv_time_rts) + cbMICHDR); 1131 sizeof(struct vnt_rrv_time_rts) + cbMICHDR);
1135 pvCTS = NULL;
1136 pvTxDataHd = (struct vnt_tx_datahead_g_fb *) (pbyTxBufferAddr + 1132 pvTxDataHd = (struct vnt_tx_datahead_g_fb *) (pbyTxBufferAddr +
1137 wTxBufSize + sizeof(struct vnt_rrv_time_rts) + 1133 wTxBufSize + sizeof(struct vnt_rrv_time_rts) +
1138 cbMICHDR + sizeof(struct vnt_rts_g_fb)); 1134 cbMICHDR + sizeof(struct vnt_rts_g_fb));
@@ -1145,8 +1141,7 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType,
1145 (pbyTxBufferAddr + wTxBufSize); 1141 (pbyTxBufferAddr + wTxBufSize);
1146 pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize + 1142 pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize +
1147 sizeof(struct vnt_rrv_time_cts)); 1143 sizeof(struct vnt_rrv_time_cts));
1148 pvRTS = NULL; 1144 rts_cts = (struct vnt_cts_fb *) (pbyTxBufferAddr + wTxBufSize +
1149 pvCTS = (struct vnt_cts_fb *) (pbyTxBufferAddr + wTxBufSize +
1150 sizeof(struct vnt_rrv_time_cts) + cbMICHDR); 1145 sizeof(struct vnt_rrv_time_cts) + cbMICHDR);
1151 pvTxDataHd = (struct vnt_tx_datahead_g_fb *) (pbyTxBufferAddr + 1146 pvTxDataHd = (struct vnt_tx_datahead_g_fb *) (pbyTxBufferAddr +
1152 wTxBufSize + sizeof(struct vnt_rrv_time_cts) + 1147 wTxBufSize + sizeof(struct vnt_rrv_time_cts) +
@@ -1164,9 +1159,8 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType,
1164 wTxBufSize); 1159 wTxBufSize);
1165 pMICHDR = (struct vnt_mic_hdr *)(pbyTxBufferAddr + wTxBufSize + 1160 pMICHDR = (struct vnt_mic_hdr *)(pbyTxBufferAddr + wTxBufSize +
1166 sizeof(struct vnt_rrv_time_ab)); 1161 sizeof(struct vnt_rrv_time_ab));
1167 pvRTS = (struct vnt_rts_ab *) (pbyTxBufferAddr + wTxBufSize + 1162 rts_cts = (struct vnt_rts_ab *) (pbyTxBufferAddr + wTxBufSize +
1168 sizeof(struct vnt_rrv_time_ab) + cbMICHDR); 1163 sizeof(struct vnt_rrv_time_ab) + cbMICHDR);
1169 pvCTS = NULL;
1170 pvTxDataHd = (struct vnt_tx_datahead_ab *)(pbyTxBufferAddr + 1164 pvTxDataHd = (struct vnt_tx_datahead_ab *)(pbyTxBufferAddr +
1171 wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR + 1165 wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR +
1172 sizeof(struct vnt_rts_ab)); 1166 sizeof(struct vnt_rts_ab));
@@ -1179,8 +1173,6 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType,
1179 wTxBufSize); 1173 wTxBufSize);
1180 pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize + 1174 pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize +
1181 sizeof(struct vnt_rrv_time_ab)); 1175 sizeof(struct vnt_rrv_time_ab));
1182 pvRTS = NULL;
1183 pvCTS = NULL;
1184 pvTxDataHd = (struct vnt_tx_datahead_ab *)(pbyTxBufferAddr + 1176 pvTxDataHd = (struct vnt_tx_datahead_ab *)(pbyTxBufferAddr +
1185 wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR); 1177 wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR);
1186 cbHeaderLength = wTxBufSize + sizeof(struct vnt_rrv_time_ab) + 1178 cbHeaderLength = wTxBufSize + sizeof(struct vnt_rrv_time_ab) +
@@ -1193,9 +1185,8 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType,
1193 wTxBufSize); 1185 wTxBufSize);
1194 pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize + 1186 pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize +
1195 sizeof(struct vnt_rrv_time_ab)); 1187 sizeof(struct vnt_rrv_time_ab));
1196 pvRTS = (struct vnt_rts_a_fb *) (pbyTxBufferAddr + wTxBufSize + 1188 rts_cts = (struct vnt_rts_a_fb *)(pbyTxBufferAddr + wTxBufSize +
1197 sizeof(struct vnt_rrv_time_ab) + cbMICHDR); 1189 sizeof(struct vnt_rrv_time_ab) + cbMICHDR);
1198 pvCTS = NULL;
1199 pvTxDataHd = (struct vnt_tx_datahead_a_fb *)(pbyTxBufferAddr + 1190 pvTxDataHd = (struct vnt_tx_datahead_a_fb *)(pbyTxBufferAddr +
1200 wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR + 1191 wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR +
1201 sizeof(struct vnt_rts_a_fb)); 1192 sizeof(struct vnt_rts_a_fb));
@@ -1208,8 +1199,6 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType,
1208 wTxBufSize); 1199 wTxBufSize);
1209 pMICHDR = (struct vnt_mic_hdr *)(pbyTxBufferAddr + wTxBufSize + 1200 pMICHDR = (struct vnt_mic_hdr *)(pbyTxBufferAddr + wTxBufSize +
1210 sizeof(struct vnt_rrv_time_ab)); 1201 sizeof(struct vnt_rrv_time_ab));
1211 pvRTS = NULL;
1212 pvCTS = NULL;
1213 pvTxDataHd = (struct vnt_tx_datahead_a_fb *)(pbyTxBufferAddr + 1202 pvTxDataHd = (struct vnt_tx_datahead_a_fb *)(pbyTxBufferAddr +
1214 wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR); 1203 wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR);
1215 cbHeaderLength = wTxBufSize + sizeof(struct vnt_rrv_time_ab) + 1204 cbHeaderLength = wTxBufSize + sizeof(struct vnt_rrv_time_ab) +
@@ -1232,7 +1221,7 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType,
1232 1221
1233 //Fill FIFO,RrvTime,RTS,and CTS 1222 //Fill FIFO,RrvTime,RTS,and CTS
1234 s_vGenerateTxParameter(pDevice, byPktType, wCurrentRate, 1223 s_vGenerateTxParameter(pDevice, byPktType, wCurrentRate,
1235 (void *)pbyTxBufferAddr, pvRrvTime, pvRTS, pvCTS, 1224 (void *)pbyTxBufferAddr, pvRrvTime, rts_cts,
1236 cbFrameSize, bNeedACK, uDMAIdx, psEthHeader, bRTS); 1225 cbFrameSize, bNeedACK, uDMAIdx, psEthHeader, bRTS);
1237 //Fill DataHead 1226 //Fill DataHead
1238 uDuration = s_uFillDataHead(pDevice, byPktType, wCurrentRate, pvTxDataHd, cbFrameSize, uDMAIdx, bNeedACK, 1227 uDuration = s_uFillDataHead(pDevice, byPktType, wCurrentRate, pvTxDataHd, cbFrameSize, uDMAIdx, bNeedACK,
@@ -1467,10 +1456,10 @@ CMD_STATUS csMgmt_xmit(struct vnt_private *pDevice,
1467 PSTxBufHead pTxBufHead; 1456 PSTxBufHead pTxBufHead;
1468 PUSB_SEND_CONTEXT pContext; 1457 PUSB_SEND_CONTEXT pContext;
1469 struct ieee80211_hdr *pMACHeader; 1458 struct ieee80211_hdr *pMACHeader;
1470 struct vnt_cts *pCTS;
1471 struct ethhdr sEthHeader; 1459 struct ethhdr sEthHeader;
1472 u8 byPktType, *pbyTxBufferAddr; 1460 u8 byPktType, *pbyTxBufferAddr;
1473 void *pvRTS, *pvTxDataHd, *pvRrvTime, *pMICHDR; 1461 void *rts_cts = NULL;
1462 void *pvTxDataHd, *pvRrvTime, *pMICHDR;
1474 u32 uDuration, cbReqCount, cbHeaderSize, cbFrameBodySize, cbFrameSize; 1463 u32 uDuration, cbReqCount, cbHeaderSize, cbFrameBodySize, cbFrameSize;
1475 int bNeedACK, bIsPSPOLL = false; 1464 int bNeedACK, bIsPSPOLL = false;
1476 u32 cbIVlen = 0, cbICVlen = 0, cbMIClen = 0, cbFCSlen = 4; 1465 u32 cbIVlen = 0, cbICVlen = 0, cbMIClen = 0, cbFCSlen = 4;
@@ -1605,8 +1594,7 @@ CMD_STATUS csMgmt_xmit(struct vnt_private *pDevice,
1605 1594
1606 pvRrvTime = (struct vnt_rrv_time_cts *) (pbyTxBufferAddr + wTxBufSize); 1595 pvRrvTime = (struct vnt_rrv_time_cts *) (pbyTxBufferAddr + wTxBufSize);
1607 pMICHDR = NULL; 1596 pMICHDR = NULL;
1608 pvRTS = NULL; 1597 rts_cts = (struct vnt_cts *) (pbyTxBufferAddr + wTxBufSize +
1609 pCTS = (struct vnt_cts *) (pbyTxBufferAddr + wTxBufSize +
1610 sizeof(struct vnt_rrv_time_cts)); 1598 sizeof(struct vnt_rrv_time_cts));
1611 pvTxDataHd = (struct vnt_tx_datahead_g *)(pbyTxBufferAddr + wTxBufSize + 1599 pvTxDataHd = (struct vnt_tx_datahead_g *)(pbyTxBufferAddr + wTxBufSize +
1612 sizeof(struct vnt_rrv_time_cts) + sizeof(struct vnt_cts)); 1600 sizeof(struct vnt_rrv_time_cts) + sizeof(struct vnt_cts));
@@ -1616,8 +1604,6 @@ CMD_STATUS csMgmt_xmit(struct vnt_private *pDevice,
1616 else { // 802.11a/b packet 1604 else { // 802.11a/b packet
1617 pvRrvTime = (struct vnt_rrv_time_ab *) (pbyTxBufferAddr + wTxBufSize); 1605 pvRrvTime = (struct vnt_rrv_time_ab *) (pbyTxBufferAddr + wTxBufSize);
1618 pMICHDR = NULL; 1606 pMICHDR = NULL;
1619 pvRTS = NULL;
1620 pCTS = NULL;
1621 pvTxDataHd = (struct vnt_tx_datahead_ab *) (pbyTxBufferAddr + 1607 pvTxDataHd = (struct vnt_tx_datahead_ab *) (pbyTxBufferAddr +
1622 wTxBufSize + sizeof(struct vnt_rrv_time_ab)); 1608 wTxBufSize + sizeof(struct vnt_rrv_time_ab));
1623 cbHeaderSize = wTxBufSize + sizeof(struct vnt_rrv_time_ab) + 1609 cbHeaderSize = wTxBufSize + sizeof(struct vnt_rrv_time_ab) +
@@ -1635,8 +1621,9 @@ CMD_STATUS csMgmt_xmit(struct vnt_private *pDevice,
1635 //========================= 1621 //=========================
1636 pTxBufHead->wFragCtl |= (u16)FRAGCTL_NONFRAG; 1622 pTxBufHead->wFragCtl |= (u16)FRAGCTL_NONFRAG;
1637 1623
1638 //Fill FIFO,RrvTime,RTS,and CTS 1624 /* Fill FIFO,RrvTime,RTS,and CTS */
1639 s_vGenerateTxParameter(pDevice, byPktType, wCurrentRate, pbyTxBufferAddr, pvRrvTime, pvRTS, pCTS, 1625 s_vGenerateTxParameter(pDevice, byPktType, wCurrentRate,
1626 pbyTxBufferAddr, pvRrvTime, rts_cts,
1640 cbFrameSize, bNeedACK, TYPE_TXDMA0, &sEthHeader, false); 1627 cbFrameSize, bNeedACK, TYPE_TXDMA0, &sEthHeader, false);
1641 1628
1642 //Fill DataHead 1629 //Fill DataHead
@@ -1824,7 +1811,8 @@ void vDMA0_tx_80211(struct vnt_private *pDevice, struct sk_buff *skb)
1824 struct vnt_tx_buffer *pTX_Buffer; 1811 struct vnt_tx_buffer *pTX_Buffer;
1825 u8 byPktType; 1812 u8 byPktType;
1826 u8 *pbyTxBufferAddr; 1813 u8 *pbyTxBufferAddr;
1827 void *pvRTS, *pvCTS, *pvTxDataHd; 1814 void *rts_cts = NULL;
1815 void *pvTxDataHd;
1828 u32 uDuration, cbReqCount; 1816 u32 uDuration, cbReqCount;
1829 struct ieee80211_hdr *pMACHeader; 1817 struct ieee80211_hdr *pMACHeader;
1830 u32 cbHeaderSize, cbFrameBodySize; 1818 u32 cbHeaderSize, cbFrameBodySize;
@@ -1851,7 +1839,7 @@ void vDMA0_tx_80211(struct vnt_private *pDevice, struct sk_buff *skb)
1851 u32 cbExtSuppRate = 0; 1839 u32 cbExtSuppRate = 0;
1852 PUSB_SEND_CONTEXT pContext; 1840 PUSB_SEND_CONTEXT pContext;
1853 1841
1854 pvRrvTime = pMICHDR = pvRTS = pvCTS = pvTxDataHd = NULL; 1842 pvRrvTime = pMICHDR = pvTxDataHd = NULL;
1855 1843
1856 if(skb->len <= WLAN_HDR_ADDR3_LEN) { 1844 if(skb->len <= WLAN_HDR_ADDR3_LEN) {
1857 cbFrameBodySize = 0; 1845 cbFrameBodySize = 0;
@@ -2013,8 +2001,7 @@ void vDMA0_tx_80211(struct vnt_private *pDevice, struct sk_buff *skb)
2013 pvRrvTime = (struct vnt_rrv_time_cts *) (pbyTxBufferAddr + wTxBufSize); 2001 pvRrvTime = (struct vnt_rrv_time_cts *) (pbyTxBufferAddr + wTxBufSize);
2014 pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize + 2002 pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize +
2015 sizeof(struct vnt_rrv_time_cts)); 2003 sizeof(struct vnt_rrv_time_cts));
2016 pvRTS = NULL; 2004 rts_cts = (struct vnt_cts *) (pbyTxBufferAddr + wTxBufSize +
2017 pvCTS = (struct vnt_cts *) (pbyTxBufferAddr + wTxBufSize +
2018 sizeof(struct vnt_rrv_time_cts) + cbMICHDR); 2005 sizeof(struct vnt_rrv_time_cts) + cbMICHDR);
2019 pvTxDataHd = (struct vnt_tx_datahead_g *) (pbyTxBufferAddr + 2006 pvTxDataHd = (struct vnt_tx_datahead_g *) (pbyTxBufferAddr +
2020 wTxBufSize + sizeof(struct vnt_rrv_time_cts) + cbMICHDR + 2007 wTxBufSize + sizeof(struct vnt_rrv_time_cts) + cbMICHDR +
@@ -2028,8 +2015,6 @@ void vDMA0_tx_80211(struct vnt_private *pDevice, struct sk_buff *skb)
2028 pvRrvTime = (struct vnt_rrv_time_ab *) (pbyTxBufferAddr + wTxBufSize); 2015 pvRrvTime = (struct vnt_rrv_time_ab *) (pbyTxBufferAddr + wTxBufSize);
2029 pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize + 2016 pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize +
2030 sizeof(struct vnt_rrv_time_ab)); 2017 sizeof(struct vnt_rrv_time_ab));
2031 pvRTS = NULL;
2032 pvCTS = NULL;
2033 pvTxDataHd = (struct vnt_tx_datahead_ab *)(pbyTxBufferAddr + 2018 pvTxDataHd = (struct vnt_tx_datahead_ab *)(pbyTxBufferAddr +
2034 wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR); 2019 wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR);
2035 cbHeaderSize = wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR + 2020 cbHeaderSize = wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR +
@@ -2046,8 +2031,9 @@ void vDMA0_tx_80211(struct vnt_private *pDevice, struct sk_buff *skb)
2046 //========================= 2031 //=========================
2047 pTxBufHead->wFragCtl |= (u16)FRAGCTL_NONFRAG; 2032 pTxBufHead->wFragCtl |= (u16)FRAGCTL_NONFRAG;
2048 2033
2049 //Fill FIFO,RrvTime,RTS,and CTS 2034 /* Fill FIFO,RrvTime,RTS,and CTS */
2050 s_vGenerateTxParameter(pDevice, byPktType, wCurrentRate, pbyTxBufferAddr, pvRrvTime, pvRTS, pvCTS, 2035 s_vGenerateTxParameter(pDevice, byPktType, wCurrentRate,
2036 pbyTxBufferAddr, pvRrvTime, rts_cts,
2051 cbFrameSize, bNeedACK, TYPE_TXDMA0, &sEthHeader, false); 2037 cbFrameSize, bNeedACK, TYPE_TXDMA0, &sEthHeader, false);
2052 2038
2053 //Fill DataHead 2039 //Fill DataHead