| .. | .. |
|---|
| 21 | 21 | * s_uGetDataDuration - get tx data required duration |
|---|
| 22 | 22 | * s_uFillDataHead- fulfill tx data duration header |
|---|
| 23 | 23 | * s_uGetRTSCTSDuration- get rtx/cts required duration |
|---|
| 24 | | - * s_uGetRTSCTSRsvTime- get rts/cts reserved time |
|---|
| 24 | + * get_rtscts_time- get rts/cts reserved time |
|---|
| 25 | 25 | * s_uGetTxRsvTime- get frame reserved time |
|---|
| 26 | 26 | * s_vFillCTSHead- fulfill CTS ctl header |
|---|
| 27 | 27 | * s_vFillFragParameter- Set fragment ctl parameter. |
|---|
| .. | .. |
|---|
| 65 | 65 | {RATE_12M, RATE_18M, RATE_24M, RATE_36M, RATE_48M}, /* fallback_rate0 */ |
|---|
| 66 | 66 | {RATE_12M, RATE_12M, RATE_18M, RATE_24M, RATE_36M}, /* fallback_rate1 */ |
|---|
| 67 | 67 | }; |
|---|
| 68 | + |
|---|
| 68 | 69 | static const unsigned short wFB_Opt1[2][5] = { |
|---|
| 69 | 70 | {RATE_12M, RATE_18M, RATE_24M, RATE_24M, RATE_36M}, /* fallback_rate0 */ |
|---|
| 70 | 71 | {RATE_6M, RATE_6M, RATE_12M, RATE_12M, RATE_18M}, /* fallback_rate1 */ |
|---|
| .. | .. |
|---|
| 164 | 165 | { |
|---|
| 165 | 166 | unsigned int uDataTime, uAckTime; |
|---|
| 166 | 167 | |
|---|
| 167 | | - uDataTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, cbFrameLength, wRate); |
|---|
| 168 | | - if (byPktType == PK_TYPE_11B) /* llb,CCK mode */ |
|---|
| 169 | | - uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, (unsigned short)pDevice->byTopCCKBasicRate); |
|---|
| 170 | | - else /* 11g 2.4G OFDM mode & 11a 5G OFDM mode */ |
|---|
| 171 | | - uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, (unsigned short)pDevice->byTopOFDMBasicRate); |
|---|
| 168 | + uDataTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, cbFrameLength, wRate); |
|---|
| 172 | 169 | |
|---|
| 173 | | - if (bNeedAck) |
|---|
| 174 | | - return uDataTime + pDevice->uSIFS + uAckTime; |
|---|
| 175 | | - else |
|---|
| 170 | + if (!bNeedAck) |
|---|
| 176 | 171 | return uDataTime; |
|---|
| 172 | + |
|---|
| 173 | + /* |
|---|
| 174 | + * CCK mode - 11b |
|---|
| 175 | + * OFDM mode - 11g 2.4G & 11a 5G |
|---|
| 176 | + */ |
|---|
| 177 | + uAckTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, |
|---|
| 178 | + byPktType == PK_TYPE_11B ? |
|---|
| 179 | + pDevice->byTopCCKBasicRate : |
|---|
| 180 | + pDevice->byTopOFDMBasicRate); |
|---|
| 181 | + |
|---|
| 182 | + return uDataTime + pDevice->uSIFS + uAckTime; |
|---|
| 177 | 183 | } |
|---|
| 178 | 184 | |
|---|
| 179 | 185 | static __le16 vnt_rxtx_rsvtime_le16(struct vnt_private *priv, u8 pkt_type, |
|---|
| .. | .. |
|---|
| 184 | 190 | } |
|---|
| 185 | 191 | |
|---|
| 186 | 192 | /* byFreqType: 0=>5GHZ 1=>2.4GHZ */ |
|---|
| 187 | | -static |
|---|
| 188 | | -__le16 |
|---|
| 189 | | -s_uGetRTSCTSRsvTime( |
|---|
| 190 | | - struct vnt_private *pDevice, |
|---|
| 191 | | - unsigned char byRTSRsvType, |
|---|
| 192 | | - unsigned char byPktType, |
|---|
| 193 | | - unsigned int cbFrameLength, |
|---|
| 194 | | - unsigned short wCurrentRate |
|---|
| 195 | | -) |
|---|
| 193 | +static __le16 get_rtscts_time(struct vnt_private *priv, |
|---|
| 194 | + unsigned char rts_rsvtype, |
|---|
| 195 | + unsigned char pkt_type, |
|---|
| 196 | + unsigned int frame_length, |
|---|
| 197 | + unsigned short current_rate) |
|---|
| 196 | 198 | { |
|---|
| 197 | | - unsigned int uRrvTime, uRTSTime, uCTSTime, uAckTime, uDataTime; |
|---|
| 199 | + unsigned int rrv_time = 0; |
|---|
| 200 | + unsigned int rts_time = 0; |
|---|
| 201 | + unsigned int cts_time = 0; |
|---|
| 202 | + unsigned int ack_time = 0; |
|---|
| 203 | + unsigned int data_time = 0; |
|---|
| 198 | 204 | |
|---|
| 199 | | - uRrvTime = uRTSTime = uCTSTime = uAckTime = uDataTime = 0; |
|---|
| 200 | | - |
|---|
| 201 | | - uDataTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, cbFrameLength, wCurrentRate); |
|---|
| 202 | | - if (byRTSRsvType == 0) { /* RTSTxRrvTime_bb */ |
|---|
| 203 | | - uRTSTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 20, pDevice->byTopCCKBasicRate); |
|---|
| 204 | | - uCTSTime = uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate); |
|---|
| 205 | | - } else if (byRTSRsvType == 1) { /* RTSTxRrvTime_ba, only in 2.4GHZ */ |
|---|
| 206 | | - uRTSTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 20, pDevice->byTopCCKBasicRate); |
|---|
| 207 | | - uCTSTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate); |
|---|
| 208 | | - uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate); |
|---|
| 209 | | - } else if (byRTSRsvType == 2) { /* RTSTxRrvTime_aa */ |
|---|
| 210 | | - uRTSTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 20, pDevice->byTopOFDMBasicRate); |
|---|
| 211 | | - uCTSTime = uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate); |
|---|
| 212 | | - } else if (byRTSRsvType == 3) { /* CTSTxRrvTime_ba, only in 2.4GHZ */ |
|---|
| 213 | | - uCTSTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate); |
|---|
| 214 | | - uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate); |
|---|
| 215 | | - uRrvTime = uCTSTime + uAckTime + uDataTime + 2*pDevice->uSIFS; |
|---|
| 216 | | - return cpu_to_le16((u16)uRrvTime); |
|---|
| 205 | + data_time = bb_get_frame_time(priv->byPreambleType, pkt_type, frame_length, current_rate); |
|---|
| 206 | + if (rts_rsvtype == 0) { /* RTSTxRrvTime_bb */ |
|---|
| 207 | + rts_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 20, priv->byTopCCKBasicRate); |
|---|
| 208 | + ack_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 14, priv->byTopCCKBasicRate); |
|---|
| 209 | + cts_time = ack_time; |
|---|
| 210 | + } else if (rts_rsvtype == 1) { /* RTSTxRrvTime_ba, only in 2.4GHZ */ |
|---|
| 211 | + rts_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 20, priv->byTopCCKBasicRate); |
|---|
| 212 | + cts_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 14, priv->byTopCCKBasicRate); |
|---|
| 213 | + ack_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 14, priv->byTopOFDMBasicRate); |
|---|
| 214 | + } else if (rts_rsvtype == 2) { /* RTSTxRrvTime_aa */ |
|---|
| 215 | + rts_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 20, priv->byTopOFDMBasicRate); |
|---|
| 216 | + ack_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 14, priv->byTopOFDMBasicRate); |
|---|
| 217 | + cts_time = ack_time; |
|---|
| 218 | + } else if (rts_rsvtype == 3) { /* CTSTxRrvTime_ba, only in 2.4GHZ */ |
|---|
| 219 | + cts_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 14, priv->byTopCCKBasicRate); |
|---|
| 220 | + ack_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 14, priv->byTopOFDMBasicRate); |
|---|
| 221 | + rrv_time = cts_time + ack_time + data_time + 2 * priv->uSIFS; |
|---|
| 222 | + return cpu_to_le16((u16)rrv_time); |
|---|
| 217 | 223 | } |
|---|
| 218 | 224 | |
|---|
| 219 | 225 | /* RTSRrvTime */ |
|---|
| 220 | | - uRrvTime = uRTSTime + uCTSTime + uAckTime + uDataTime + 3*pDevice->uSIFS; |
|---|
| 221 | | - return cpu_to_le16((u16)uRrvTime); |
|---|
| 226 | + rrv_time = rts_time + cts_time + ack_time + data_time + 3 * priv->uSIFS; |
|---|
| 227 | + return cpu_to_le16((u16)rrv_time); |
|---|
| 222 | 228 | } |
|---|
| 223 | 229 | |
|---|
| 224 | 230 | /* byFreqType 0: 5GHz, 1:2.4Ghz */ |
|---|
| .. | .. |
|---|
| 238 | 244 | ) |
|---|
| 239 | 245 | { |
|---|
| 240 | 246 | bool bLastFrag = false; |
|---|
| 241 | | - unsigned int uAckTime = 0, uNextPktTime = 0; |
|---|
| 247 | + unsigned int uAckTime = 0, uNextPktTime = 0, len; |
|---|
| 242 | 248 | |
|---|
| 243 | | - if (uFragIdx == (uMACfragNum-1)) |
|---|
| 249 | + if (uFragIdx == (uMACfragNum - 1)) |
|---|
| 244 | 250 | bLastFrag = true; |
|---|
| 251 | + |
|---|
| 252 | + if (uFragIdx == (uMACfragNum - 2)) |
|---|
| 253 | + len = cbLastFragmentSize; |
|---|
| 254 | + else |
|---|
| 255 | + len = cbFrameLength; |
|---|
| 245 | 256 | |
|---|
| 246 | 257 | switch (byDurType) { |
|---|
| 247 | 258 | case DATADUR_B: /* DATADUR_B */ |
|---|
| 248 | | - if (((uMACfragNum == 1)) || bLastFrag) {/* Non Frag or Last Frag */ |
|---|
| 249 | | - if (bNeedAck) { |
|---|
| 250 | | - uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate); |
|---|
| 251 | | - return pDevice->uSIFS + uAckTime; |
|---|
| 252 | | - } else { |
|---|
| 253 | | - return 0; |
|---|
| 254 | | - } |
|---|
| 255 | | - } else {/* First Frag or Mid Frag */ |
|---|
| 256 | | - if (uFragIdx == (uMACfragNum-2)) |
|---|
| 257 | | - uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, cbLastFragmentSize, wRate, bNeedAck); |
|---|
| 258 | | - else |
|---|
| 259 | | - uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wRate, bNeedAck); |
|---|
| 260 | | - |
|---|
| 261 | | - if (bNeedAck) { |
|---|
| 262 | | - uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate); |
|---|
| 263 | | - return pDevice->uSIFS + uAckTime + uNextPktTime; |
|---|
| 264 | | - } else { |
|---|
| 265 | | - return pDevice->uSIFS + uNextPktTime; |
|---|
| 266 | | - } |
|---|
| 259 | + if (bNeedAck) { |
|---|
| 260 | + uAckTime = bb_get_frame_time(pDevice->byPreambleType, |
|---|
| 261 | + byPktType, 14, |
|---|
| 262 | + pDevice->byTopCCKBasicRate); |
|---|
| 267 | 263 | } |
|---|
| 268 | | - break; |
|---|
| 264 | + /* Non Frag or Last Frag */ |
|---|
| 265 | + if ((uMACfragNum == 1) || bLastFrag) { |
|---|
| 266 | + if (!bNeedAck) |
|---|
| 267 | + return 0; |
|---|
| 268 | + } else { |
|---|
| 269 | + /* First Frag or Mid Frag */ |
|---|
| 270 | + uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, |
|---|
| 271 | + len, wRate, bNeedAck); |
|---|
| 272 | + } |
|---|
| 273 | + |
|---|
| 274 | + return pDevice->uSIFS + uAckTime + uNextPktTime; |
|---|
| 269 | 275 | |
|---|
| 270 | 276 | case DATADUR_A: /* DATADUR_A */ |
|---|
| 271 | | - if (((uMACfragNum == 1)) || bLastFrag) {/* Non Frag or Last Frag */ |
|---|
| 272 | | - if (bNeedAck) { |
|---|
| 273 | | - uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate); |
|---|
| 274 | | - return pDevice->uSIFS + uAckTime; |
|---|
| 275 | | - } else { |
|---|
| 276 | | - return 0; |
|---|
| 277 | | - } |
|---|
| 278 | | - } else {/* First Frag or Mid Frag */ |
|---|
| 279 | | - if (uFragIdx == (uMACfragNum-2)) |
|---|
| 280 | | - uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, cbLastFragmentSize, wRate, bNeedAck); |
|---|
| 281 | | - else |
|---|
| 282 | | - uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wRate, bNeedAck); |
|---|
| 283 | | - |
|---|
| 284 | | - if (bNeedAck) { |
|---|
| 285 | | - uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate); |
|---|
| 286 | | - return pDevice->uSIFS + uAckTime + uNextPktTime; |
|---|
| 287 | | - } else { |
|---|
| 288 | | - return pDevice->uSIFS + uNextPktTime; |
|---|
| 289 | | - } |
|---|
| 277 | + if (bNeedAck) { |
|---|
| 278 | + uAckTime = bb_get_frame_time(pDevice->byPreambleType, |
|---|
| 279 | + byPktType, 14, |
|---|
| 280 | + pDevice->byTopOFDMBasicRate); |
|---|
| 290 | 281 | } |
|---|
| 291 | | - break; |
|---|
| 282 | + /* Non Frag or Last Frag */ |
|---|
| 283 | + if ((uMACfragNum == 1) || bLastFrag) { |
|---|
| 284 | + if (!bNeedAck) |
|---|
| 285 | + return 0; |
|---|
| 286 | + } else { |
|---|
| 287 | + /* First Frag or Mid Frag */ |
|---|
| 288 | + uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, |
|---|
| 289 | + len, wRate, bNeedAck); |
|---|
| 290 | + } |
|---|
| 291 | + |
|---|
| 292 | + return pDevice->uSIFS + uAckTime + uNextPktTime; |
|---|
| 292 | 293 | |
|---|
| 293 | 294 | case DATADUR_A_F0: /* DATADUR_A_F0 */ |
|---|
| 294 | | - if (((uMACfragNum == 1)) || bLastFrag) {/* Non Frag or Last Frag */ |
|---|
| 295 | | - if (bNeedAck) { |
|---|
| 296 | | - uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate); |
|---|
| 297 | | - return pDevice->uSIFS + uAckTime; |
|---|
| 298 | | - } else { |
|---|
| 299 | | - return 0; |
|---|
| 300 | | - } |
|---|
| 301 | | - } else { /* First Frag or Mid Frag */ |
|---|
| 302 | | - if (byFBOption == AUTO_FB_0) { |
|---|
| 303 | | - if (wRate < RATE_18M) |
|---|
| 304 | | - wRate = RATE_18M; |
|---|
| 305 | | - else if (wRate > RATE_54M) |
|---|
| 306 | | - wRate = RATE_54M; |
|---|
| 307 | | - |
|---|
| 308 | | - if (uFragIdx == (uMACfragNum-2)) |
|---|
| 309 | | - uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, cbLastFragmentSize, wFB_Opt0[FB_RATE0][wRate-RATE_18M], bNeedAck); |
|---|
| 310 | | - else |
|---|
| 311 | | - uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE0][wRate-RATE_18M], bNeedAck); |
|---|
| 312 | | - |
|---|
| 313 | | - } else { /* (byFBOption == AUTO_FB_1) */ |
|---|
| 314 | | - if (wRate < RATE_18M) |
|---|
| 315 | | - wRate = RATE_18M; |
|---|
| 316 | | - else if (wRate > RATE_54M) |
|---|
| 317 | | - wRate = RATE_54M; |
|---|
| 318 | | - |
|---|
| 319 | | - if (uFragIdx == (uMACfragNum-2)) |
|---|
| 320 | | - uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, cbLastFragmentSize, wFB_Opt1[FB_RATE0][wRate-RATE_18M], bNeedAck); |
|---|
| 321 | | - else |
|---|
| 322 | | - uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt1[FB_RATE0][wRate-RATE_18M], bNeedAck); |
|---|
| 323 | | - } |
|---|
| 324 | | - |
|---|
| 325 | | - if (bNeedAck) { |
|---|
| 326 | | - uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate); |
|---|
| 327 | | - return pDevice->uSIFS + uAckTime + uNextPktTime; |
|---|
| 328 | | - } else { |
|---|
| 329 | | - return pDevice->uSIFS + uNextPktTime; |
|---|
| 330 | | - } |
|---|
| 331 | | - } |
|---|
| 332 | | - break; |
|---|
| 333 | | - |
|---|
| 334 | 295 | case DATADUR_A_F1: /* DATADUR_A_F1 */ |
|---|
| 335 | | - if (((uMACfragNum == 1)) || bLastFrag) { /* Non Frag or Last Frag */ |
|---|
| 336 | | - if (bNeedAck) { |
|---|
| 337 | | - uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate); |
|---|
| 338 | | - return pDevice->uSIFS + uAckTime; |
|---|
| 339 | | - } else { |
|---|
| 340 | | - return 0; |
|---|
| 341 | | - } |
|---|
| 342 | | - } else { /* First Frag or Mid Frag */ |
|---|
| 343 | | - if (byFBOption == AUTO_FB_0) { |
|---|
| 344 | | - if (wRate < RATE_18M) |
|---|
| 345 | | - wRate = RATE_18M; |
|---|
| 346 | | - else if (wRate > RATE_54M) |
|---|
| 347 | | - wRate = RATE_54M; |
|---|
| 348 | | - |
|---|
| 349 | | - if (uFragIdx == (uMACfragNum-2)) |
|---|
| 350 | | - uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, cbLastFragmentSize, wFB_Opt0[FB_RATE1][wRate-RATE_18M], bNeedAck); |
|---|
| 351 | | - else |
|---|
| 352 | | - uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE1][wRate-RATE_18M], bNeedAck); |
|---|
| 353 | | - |
|---|
| 354 | | - } else { /* (byFBOption == AUTO_FB_1) */ |
|---|
| 355 | | - if (wRate < RATE_18M) |
|---|
| 356 | | - wRate = RATE_18M; |
|---|
| 357 | | - else if (wRate > RATE_54M) |
|---|
| 358 | | - wRate = RATE_54M; |
|---|
| 359 | | - |
|---|
| 360 | | - if (uFragIdx == (uMACfragNum-2)) |
|---|
| 361 | | - uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, cbLastFragmentSize, wFB_Opt1[FB_RATE1][wRate-RATE_18M], bNeedAck); |
|---|
| 362 | | - else |
|---|
| 363 | | - uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt1[FB_RATE1][wRate-RATE_18M], bNeedAck); |
|---|
| 364 | | - } |
|---|
| 365 | | - if (bNeedAck) { |
|---|
| 366 | | - uAckTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate); |
|---|
| 367 | | - return pDevice->uSIFS + uAckTime + uNextPktTime; |
|---|
| 368 | | - } else { |
|---|
| 369 | | - return pDevice->uSIFS + uNextPktTime; |
|---|
| 370 | | - } |
|---|
| 296 | + if (bNeedAck) { |
|---|
| 297 | + uAckTime = bb_get_frame_time(pDevice->byPreambleType, |
|---|
| 298 | + byPktType, 14, |
|---|
| 299 | + pDevice->byTopOFDMBasicRate); |
|---|
| 371 | 300 | } |
|---|
| 372 | | - break; |
|---|
| 301 | + /* Non Frag or Last Frag */ |
|---|
| 302 | + if ((uMACfragNum == 1) || bLastFrag) { |
|---|
| 303 | + if (!bNeedAck) |
|---|
| 304 | + return 0; |
|---|
| 305 | + } else { |
|---|
| 306 | + /* First Frag or Mid Frag */ |
|---|
| 307 | + if (wRate < RATE_18M) |
|---|
| 308 | + wRate = RATE_18M; |
|---|
| 309 | + else if (wRate > RATE_54M) |
|---|
| 310 | + wRate = RATE_54M; |
|---|
| 311 | + |
|---|
| 312 | + wRate -= RATE_18M; |
|---|
| 313 | + |
|---|
| 314 | + if (byFBOption == AUTO_FB_0) |
|---|
| 315 | + wRate = wFB_Opt0[FB_RATE0][wRate]; |
|---|
| 316 | + else |
|---|
| 317 | + wRate = wFB_Opt1[FB_RATE0][wRate]; |
|---|
| 318 | + |
|---|
| 319 | + uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, |
|---|
| 320 | + len, wRate, bNeedAck); |
|---|
| 321 | + } |
|---|
| 322 | + |
|---|
| 323 | + return pDevice->uSIFS + uAckTime + uNextPktTime; |
|---|
| 373 | 324 | |
|---|
| 374 | 325 | default: |
|---|
| 375 | 326 | break; |
|---|
| .. | .. |
|---|
| 395 | 346 | |
|---|
| 396 | 347 | switch (byDurType) { |
|---|
| 397 | 348 | case RTSDUR_BB: /* RTSDuration_bb */ |
|---|
| 398 | | - uCTSTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate); |
|---|
| 399 | | - uDurTime = uCTSTime + 2*pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wRate, bNeedAck); |
|---|
| 349 | + uCTSTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate); |
|---|
| 350 | + uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wRate, bNeedAck); |
|---|
| 400 | 351 | break; |
|---|
| 401 | 352 | |
|---|
| 402 | 353 | case RTSDUR_BA: /* RTSDuration_ba */ |
|---|
| 403 | | - uCTSTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate); |
|---|
| 404 | | - uDurTime = uCTSTime + 2*pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wRate, bNeedAck); |
|---|
| 354 | + uCTSTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate); |
|---|
| 355 | + uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wRate, bNeedAck); |
|---|
| 405 | 356 | break; |
|---|
| 406 | 357 | |
|---|
| 407 | 358 | case RTSDUR_AA: /* RTSDuration_aa */ |
|---|
| 408 | | - uCTSTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate); |
|---|
| 409 | | - uDurTime = uCTSTime + 2*pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wRate, bNeedAck); |
|---|
| 359 | + uCTSTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate); |
|---|
| 360 | + uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wRate, bNeedAck); |
|---|
| 410 | 361 | break; |
|---|
| 411 | 362 | |
|---|
| 412 | 363 | case CTSDUR_BA: /* CTSDuration_ba */ |
|---|
| .. | .. |
|---|
| 414 | 365 | break; |
|---|
| 415 | 366 | |
|---|
| 416 | 367 | case RTSDUR_BA_F0: /* RTSDuration_ba_f0 */ |
|---|
| 417 | | - uCTSTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate); |
|---|
| 368 | + uCTSTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate); |
|---|
| 418 | 369 | if ((byFBOption == AUTO_FB_0) && (wRate >= RATE_18M) && (wRate <= RATE_54M)) |
|---|
| 419 | | - uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE0][wRate-RATE_18M], bNeedAck); |
|---|
| 370 | + uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE0][wRate - RATE_18M], bNeedAck); |
|---|
| 420 | 371 | else if ((byFBOption == AUTO_FB_1) && (wRate >= RATE_18M) && (wRate <= RATE_54M)) |
|---|
| 421 | | - uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt1[FB_RATE0][wRate-RATE_18M], bNeedAck); |
|---|
| 372 | + uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt1[FB_RATE0][wRate - RATE_18M], bNeedAck); |
|---|
| 422 | 373 | |
|---|
| 423 | 374 | break; |
|---|
| 424 | 375 | |
|---|
| 425 | 376 | case RTSDUR_AA_F0: /* RTSDuration_aa_f0 */ |
|---|
| 426 | | - uCTSTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate); |
|---|
| 377 | + uCTSTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate); |
|---|
| 427 | 378 | if ((byFBOption == AUTO_FB_0) && (wRate >= RATE_18M) && (wRate <= RATE_54M)) |
|---|
| 428 | | - uDurTime = uCTSTime + 2*pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE0][wRate-RATE_18M], bNeedAck); |
|---|
| 379 | + uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE0][wRate - RATE_18M], bNeedAck); |
|---|
| 429 | 380 | else if ((byFBOption == AUTO_FB_1) && (wRate >= RATE_18M) && (wRate <= RATE_54M)) |
|---|
| 430 | | - uDurTime = uCTSTime + 2*pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt1[FB_RATE0][wRate-RATE_18M], bNeedAck); |
|---|
| 381 | + uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt1[FB_RATE0][wRate - RATE_18M], bNeedAck); |
|---|
| 431 | 382 | |
|---|
| 432 | 383 | break; |
|---|
| 433 | 384 | |
|---|
| 434 | 385 | case RTSDUR_BA_F1: /* RTSDuration_ba_f1 */ |
|---|
| 435 | | - uCTSTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate); |
|---|
| 386 | + uCTSTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate); |
|---|
| 436 | 387 | if ((byFBOption == AUTO_FB_0) && (wRate >= RATE_18M) && (wRate <= RATE_54M)) |
|---|
| 437 | | - uDurTime = uCTSTime + 2*pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE1][wRate-RATE_18M], bNeedAck); |
|---|
| 388 | + uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE1][wRate - RATE_18M], bNeedAck); |
|---|
| 438 | 389 | else if ((byFBOption == AUTO_FB_1) && (wRate >= RATE_18M) && (wRate <= RATE_54M)) |
|---|
| 439 | | - uDurTime = uCTSTime + 2*pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt1[FB_RATE1][wRate-RATE_18M], bNeedAck); |
|---|
| 390 | + uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt1[FB_RATE1][wRate - RATE_18M], bNeedAck); |
|---|
| 440 | 391 | |
|---|
| 441 | 392 | break; |
|---|
| 442 | 393 | |
|---|
| 443 | 394 | case RTSDUR_AA_F1: /* RTSDuration_aa_f1 */ |
|---|
| 444 | | - uCTSTime = BBuGetFrameTime(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate); |
|---|
| 395 | + uCTSTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate); |
|---|
| 445 | 396 | if ((byFBOption == AUTO_FB_0) && (wRate >= RATE_18M) && (wRate <= RATE_54M)) |
|---|
| 446 | | - uDurTime = uCTSTime + 2*pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE1][wRate-RATE_18M], bNeedAck); |
|---|
| 397 | + uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE1][wRate - RATE_18M], bNeedAck); |
|---|
| 447 | 398 | else if ((byFBOption == AUTO_FB_1) && (wRate >= RATE_18M) && (wRate <= RATE_54M)) |
|---|
| 448 | | - uDurTime = uCTSTime + 2*pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt1[FB_RATE1][wRate-RATE_18M], bNeedAck); |
|---|
| 399 | + uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt1[FB_RATE1][wRate - RATE_18M], bNeedAck); |
|---|
| 449 | 400 | |
|---|
| 450 | 401 | break; |
|---|
| 451 | 402 | |
|---|
| 452 | 403 | case CTSDUR_BA_F0: /* CTSDuration_ba_f0 */ |
|---|
| 453 | 404 | if ((byFBOption == AUTO_FB_0) && (wRate >= RATE_18M) && (wRate <= RATE_54M)) |
|---|
| 454 | | - uDurTime = pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE0][wRate-RATE_18M], bNeedAck); |
|---|
| 405 | + uDurTime = pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE0][wRate - RATE_18M], bNeedAck); |
|---|
| 455 | 406 | else if ((byFBOption == AUTO_FB_1) && (wRate >= RATE_18M) && (wRate <= RATE_54M)) |
|---|
| 456 | | - uDurTime = pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt1[FB_RATE0][wRate-RATE_18M], bNeedAck); |
|---|
| 407 | + uDurTime = pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt1[FB_RATE0][wRate - RATE_18M], bNeedAck); |
|---|
| 457 | 408 | |
|---|
| 458 | 409 | break; |
|---|
| 459 | 410 | |
|---|
| 460 | 411 | case CTSDUR_BA_F1: /* CTSDuration_ba_f1 */ |
|---|
| 461 | 412 | if ((byFBOption == AUTO_FB_0) && (wRate >= RATE_18M) && (wRate <= RATE_54M)) |
|---|
| 462 | | - uDurTime = pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE1][wRate-RATE_18M], bNeedAck); |
|---|
| 413 | + uDurTime = pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE1][wRate - RATE_18M], bNeedAck); |
|---|
| 463 | 414 | else if ((byFBOption == AUTO_FB_1) && (wRate >= RATE_18M) && (wRate <= RATE_54M)) |
|---|
| 464 | | - uDurTime = pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt1[FB_RATE1][wRate-RATE_18M], bNeedAck); |
|---|
| 415 | + uDurTime = pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt1[FB_RATE1][wRate - RATE_18M], bNeedAck); |
|---|
| 465 | 416 | |
|---|
| 466 | 417 | break; |
|---|
| 467 | 418 | |
|---|
| .. | .. |
|---|
| 966 | 917 | /* Fill RsvTime */ |
|---|
| 967 | 918 | struct vnt_rrv_time_rts *buf = pvRrvTime; |
|---|
| 968 | 919 | |
|---|
| 969 | | - buf->rts_rrv_time_aa = s_uGetRTSCTSRsvTime(pDevice, 2, byPktType, cbFrameSize, wCurrentRate); |
|---|
| 970 | | - buf->rts_rrv_time_ba = s_uGetRTSCTSRsvTime(pDevice, 1, byPktType, cbFrameSize, wCurrentRate); |
|---|
| 971 | | - buf->rts_rrv_time_bb = s_uGetRTSCTSRsvTime(pDevice, 0, byPktType, cbFrameSize, wCurrentRate); |
|---|
| 920 | + buf->rts_rrv_time_aa = get_rtscts_time(pDevice, 2, byPktType, cbFrameSize, wCurrentRate); |
|---|
| 921 | + buf->rts_rrv_time_ba = get_rtscts_time(pDevice, 1, byPktType, cbFrameSize, wCurrentRate); |
|---|
| 922 | + buf->rts_rrv_time_bb = get_rtscts_time(pDevice, 0, byPktType, cbFrameSize, wCurrentRate); |
|---|
| 972 | 923 | buf->rrv_time_a = vnt_rxtx_rsvtime_le16(pDevice, byPktType, cbFrameSize, wCurrentRate, bNeedACK); |
|---|
| 973 | 924 | buf->rrv_time_b = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11B, cbFrameSize, pDevice->byTopCCKBasicRate, bNeedACK); |
|---|
| 974 | 925 | |
|---|
| .. | .. |
|---|
| 978 | 929 | |
|---|
| 979 | 930 | buf->rrv_time_a = vnt_rxtx_rsvtime_le16(pDevice, byPktType, cbFrameSize, wCurrentRate, bNeedACK); |
|---|
| 980 | 931 | buf->rrv_time_b = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11B, cbFrameSize, pDevice->byTopCCKBasicRate, bNeedACK); |
|---|
| 981 | | - buf->cts_rrv_time_ba = s_uGetRTSCTSRsvTime(pDevice, 3, byPktType, cbFrameSize, wCurrentRate); |
|---|
| 932 | + buf->cts_rrv_time_ba = get_rtscts_time(pDevice, 3, byPktType, cbFrameSize, wCurrentRate); |
|---|
| 982 | 933 | |
|---|
| 983 | 934 | /* Fill CTS */ |
|---|
| 984 | 935 | s_vFillCTSHead(pDevice, uDMAIdx, byPktType, pvCTS, cbFrameSize, bNeedACK, bDisCRC, wCurrentRate, byFBOption); |
|---|
| .. | .. |
|---|
| 987 | 938 | if (pvRTS) {/* RTS_need, non PCF mode */ |
|---|
| 988 | 939 | struct vnt_rrv_time_ab *buf = pvRrvTime; |
|---|
| 989 | 940 | |
|---|
| 990 | | - buf->rts_rrv_time = s_uGetRTSCTSRsvTime(pDevice, 2, byPktType, cbFrameSize, wCurrentRate); |
|---|
| 941 | + buf->rts_rrv_time = get_rtscts_time(pDevice, 2, byPktType, cbFrameSize, wCurrentRate); |
|---|
| 991 | 942 | buf->rrv_time = vnt_rxtx_rsvtime_le16(pDevice, byPktType, cbFrameSize, wCurrentRate, bNeedACK); |
|---|
| 992 | 943 | |
|---|
| 993 | 944 | /* Fill RTS */ |
|---|
| .. | .. |
|---|
| 1001 | 952 | if (pvRTS) {/* RTS_need, non PCF mode */ |
|---|
| 1002 | 953 | struct vnt_rrv_time_ab *buf = pvRrvTime; |
|---|
| 1003 | 954 | |
|---|
| 1004 | | - buf->rts_rrv_time = s_uGetRTSCTSRsvTime(pDevice, 0, byPktType, cbFrameSize, wCurrentRate); |
|---|
| 955 | + buf->rts_rrv_time = get_rtscts_time(pDevice, 0, byPktType, cbFrameSize, wCurrentRate); |
|---|
| 1005 | 956 | buf->rrv_time = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11B, cbFrameSize, wCurrentRate, bNeedACK); |
|---|
| 1006 | 957 | |
|---|
| 1007 | 958 | /* Fill RTS */ |
|---|
| .. | .. |
|---|
| 1039 | 990 | bool bRTS = (bool)(fifo_ctl & FIFOCTL_RTS); |
|---|
| 1040 | 991 | struct vnt_tx_desc *ptdCurr; |
|---|
| 1041 | 992 | unsigned int cbHeaderLength = 0; |
|---|
| 1042 | | - void *pvRrvTime; |
|---|
| 1043 | | - struct vnt_mic_hdr *pMICHDR; |
|---|
| 1044 | | - void *pvRTS; |
|---|
| 1045 | | - void *pvCTS; |
|---|
| 1046 | | - void *pvTxDataHd; |
|---|
| 993 | + void *pvRrvTime = NULL; |
|---|
| 994 | + struct vnt_mic_hdr *pMICHDR = NULL; |
|---|
| 995 | + void *pvRTS = NULL; |
|---|
| 996 | + void *pvCTS = NULL; |
|---|
| 997 | + void *pvTxDataHd = NULL; |
|---|
| 1047 | 998 | unsigned short wTxBufSize; /* FFinfo size */ |
|---|
| 1048 | 999 | unsigned char byFBOption = AUTO_FB_NONE; |
|---|
| 1049 | | - |
|---|
| 1050 | | - pvRrvTime = pMICHDR = pvRTS = pvCTS = pvTxDataHd = NULL; |
|---|
| 1051 | 1000 | |
|---|
| 1052 | 1001 | cbFrameSize = skb->len + 4; |
|---|
| 1053 | 1002 | |
|---|
| .. | .. |
|---|
| 1093 | 1042 | sizeof(struct vnt_tx_datahead_g); |
|---|
| 1094 | 1043 | } else { /* RTS_needless */ |
|---|
| 1095 | 1044 | pvRrvTime = (void *)(pbyTxBufferAddr + wTxBufSize); |
|---|
| 1096 | | - pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_cts)); |
|---|
| 1045 | + pMICHDR = (struct vnt_mic_hdr *)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_cts)); |
|---|
| 1097 | 1046 | pvRTS = NULL; |
|---|
| 1098 | 1047 | pvCTS = (void *) (pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_cts) + cbMICHDR); |
|---|
| 1099 | 1048 | pvTxDataHd = (void *)(pbyTxBufferAddr + wTxBufSize + |
|---|
| .. | .. |
|---|
| 1105 | 1054 | /* Auto Fall Back */ |
|---|
| 1106 | 1055 | if (bRTS) {/* RTS_need */ |
|---|
| 1107 | 1056 | pvRrvTime = (void *)(pbyTxBufferAddr + wTxBufSize); |
|---|
| 1108 | | - pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_rts)); |
|---|
| 1057 | + pMICHDR = (struct vnt_mic_hdr *)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_rts)); |
|---|
| 1109 | 1058 | pvRTS = (void *) (pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_rts) + cbMICHDR); |
|---|
| 1110 | 1059 | pvCTS = NULL; |
|---|
| 1111 | 1060 | pvTxDataHd = (void *)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_rts) + |
|---|
| .. | .. |
|---|
| 1114 | 1063 | cbMICHDR + sizeof(struct vnt_rts_g_fb) + sizeof(struct vnt_tx_datahead_g_fb); |
|---|
| 1115 | 1064 | } else { /* RTS_needless */ |
|---|
| 1116 | 1065 | pvRrvTime = (void *)(pbyTxBufferAddr + wTxBufSize); |
|---|
| 1117 | | - pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_cts)); |
|---|
| 1066 | + pMICHDR = (struct vnt_mic_hdr *)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_cts)); |
|---|
| 1118 | 1067 | pvRTS = NULL; |
|---|
| 1119 | 1068 | pvCTS = (void *)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_cts) + cbMICHDR); |
|---|
| 1120 | 1069 | pvTxDataHd = (void *)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_cts) + |
|---|
| .. | .. |
|---|
| 1128 | 1077 | if (byFBOption == AUTO_FB_NONE) { |
|---|
| 1129 | 1078 | if (bRTS) { |
|---|
| 1130 | 1079 | pvRrvTime = (void *)(pbyTxBufferAddr + wTxBufSize); |
|---|
| 1131 | | - pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_ab)); |
|---|
| 1080 | + pMICHDR = (struct vnt_mic_hdr *)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_ab)); |
|---|
| 1132 | 1081 | pvRTS = (void *)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR); |
|---|
| 1133 | 1082 | pvCTS = NULL; |
|---|
| 1134 | 1083 | pvTxDataHd = (void *)(pbyTxBufferAddr + wTxBufSize + |
|---|
| .. | .. |
|---|
| 1137 | 1086 | cbMICHDR + sizeof(struct vnt_rts_ab) + sizeof(struct vnt_tx_datahead_ab); |
|---|
| 1138 | 1087 | } else { /* RTS_needless, need MICHDR */ |
|---|
| 1139 | 1088 | pvRrvTime = (void *)(pbyTxBufferAddr + wTxBufSize); |
|---|
| 1140 | | - pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_ab)); |
|---|
| 1089 | + pMICHDR = (struct vnt_mic_hdr *)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_ab)); |
|---|
| 1141 | 1090 | pvRTS = NULL; |
|---|
| 1142 | 1091 | pvCTS = NULL; |
|---|
| 1143 | 1092 | pvTxDataHd = (void *)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR); |
|---|
| .. | .. |
|---|
| 1148 | 1097 | /* Auto Fall Back */ |
|---|
| 1149 | 1098 | if (bRTS) { /* RTS_need */ |
|---|
| 1150 | 1099 | pvRrvTime = (void *)(pbyTxBufferAddr + wTxBufSize); |
|---|
| 1151 | | - pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_ab)); |
|---|
| 1100 | + pMICHDR = (struct vnt_mic_hdr *)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_ab)); |
|---|
| 1152 | 1101 | pvRTS = (void *)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR); |
|---|
| 1153 | 1102 | pvCTS = NULL; |
|---|
| 1154 | 1103 | pvTxDataHd = (void *)(pbyTxBufferAddr + wTxBufSize + |
|---|
| .. | .. |
|---|
| 1288 | 1237 | |
|---|
| 1289 | 1238 | current_rate = rate->hw_value; |
|---|
| 1290 | 1239 | if (priv->wCurrentRate != current_rate && |
|---|
| 1291 | | - !(priv->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL)) { |
|---|
| 1240 | + !(priv->hw->conf.flags & IEEE80211_CONF_OFFCHANNEL)) { |
|---|
| 1292 | 1241 | priv->wCurrentRate = current_rate; |
|---|
| 1293 | 1242 | |
|---|
| 1294 | 1243 | RFbSetPower(priv, priv->wCurrentRate, |
|---|
| .. | .. |
|---|
| 1395 | 1344 | tx_key = info->control.hw_key; |
|---|
| 1396 | 1345 | if (tx_key->keylen > 0) |
|---|
| 1397 | 1346 | vnt_fill_txkey(hdr, tx_buffer_head->tx_key, |
|---|
| 1398 | | - tx_key, skb, tx_body_size, td_info->mic_hdr); |
|---|
| 1347 | + tx_key, skb, tx_body_size, |
|---|
| 1348 | + td_info->mic_hdr); |
|---|
| 1399 | 1349 | } |
|---|
| 1400 | 1350 | |
|---|
| 1401 | 1351 | return 0; |
|---|