[PATCH 2/5] staging: vt6655: do calculation of uAckTime first

From: Matej Dujava
Date: Sun May 03 2020 - 09:29:46 EST


This patch is extracting calculation of uAckTime in one place, at the
start of case body.

Signed-off-by: Matej Dujava <mdujava@xxxxxxxxxxxx>
---
drivers/staging/vt6655/rxtx.c | 33 +++++++++++++++------------------
1 file changed, 15 insertions(+), 18 deletions(-)

diff --git a/drivers/staging/vt6655/rxtx.c b/drivers/staging/vt6655/rxtx.c
index 28f0cda36dec..01ceace253a4 100644
--- a/drivers/staging/vt6655/rxtx.c
+++ b/drivers/staging/vt6655/rxtx.c
@@ -255,9 +255,13 @@ s_uGetDataDuration(

switch (byDurType) {
case DATADUR_B: /* DATADUR_B */
+ if (bNeedAck) {
+ uAckTime = bb_get_frame_time(pDevice->byPreambleType,
+ byPktType, 14,
+ pDevice->byTopCCKBasicRate);
+ }
if (((uMACfragNum == 1)) || bLastFrag) {/* Non Frag or Last Frag */
if (bNeedAck) {
- uAckTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate);
return pDevice->uSIFS + uAckTime;
} else {
return 0;
@@ -265,19 +269,18 @@ s_uGetDataDuration(
} else {/* First Frag or Mid Frag */
uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, len, wRate, bNeedAck);

- if (bNeedAck) {
- uAckTime = bb_get_frame_time(pDevice->byPreambleType,
- byPktType, 14,
- pDevice->byTopCCKBasicRate);
- }
return pDevice->uSIFS + uAckTime + uNextPktTime;
}
break;

case DATADUR_A: /* DATADUR_A */
+ if (bNeedAck) {
+ uAckTime = bb_get_frame_time(pDevice->byPreambleType,
+ byPktType, 14,
+ pDevice->byTopOFDMBasicRate);
+ }
if (((uMACfragNum == 1)) || bLastFrag) {/* Non Frag or Last Frag */
if (bNeedAck) {
- uAckTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate);
return pDevice->uSIFS + uAckTime;
} else {
return 0;
@@ -286,20 +289,19 @@ s_uGetDataDuration(
uNextPktTime = s_uGetTxRsvTime(pDevice, byPktType, len,
wRate, bNeedAck);

- if (bNeedAck) {
- uAckTime = bb_get_frame_time(pDevice->byPreambleType,
- byPktType, 14,
- pDevice->byTopOFDMBasicRate);
- }
return pDevice->uSIFS + uAckTime + uNextPktTime;
}
break;

case DATADUR_A_F0: /* DATADUR_A_F0 */
case DATADUR_A_F1: /* DATADUR_A_F1 */
+ if (bNeedAck) {
+ uAckTime = bb_get_frame_time(pDevice->byPreambleType,
+ byPktType, 14,
+ pDevice->byTopOFDMBasicRate);
+ }
if (((uMACfragNum == 1)) || bLastFrag) { /* Non Frag or Last Frag */
if (bNeedAck) {
- uAckTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate);
return pDevice->uSIFS + uAckTime;
} else {
return 0;
@@ -322,11 +324,6 @@ s_uGetDataDuration(
bNeedAck);
}

- if (bNeedAck) {
- uAckTime = bb_get_frame_time(pDevice->byPreambleType,
- byPktType, 14,
- pDevice->byTopOFDMBasicRate);
- }
return pDevice->uSIFS + uAckTime + uNextPktTime;
}
break;
--
2.26.2