diff options
author | sam <sam@FreeBSD.org> | 2005-08-12 23:11:44 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2005-08-12 23:11:44 +0000 |
commit | c7715b87d693fed356911fad6776d2dd62f33134 (patch) | |
tree | 42db363b0a44f0932cec80ae58497a3ade3e4581 /sys/dev/ath | |
parent | 44f0d8ab4f492fdac0b70f3b6978b958a9ca75d7 (diff) | |
download | FreeBSD-src-c7715b87d693fed356911fad6776d2dd62f33134.zip FreeBSD-src-c7715b87d693fed356911fad6776d2dd62f33134.tar.gz |
correct CTS duration calculation; SIFS+ACK should use the xmit rate not
the rate for CTS
MFC after: 3 days
Obtained from: Atheros
Diffstat (limited to 'sys/dev/ath')
-rw-r--r-- | sys/dev/ath/if_ath.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index 05cad26..b96413f 100644 --- a/sys/dev/ath/if_ath.c +++ b/sys/dev/ath/if_ath.c @@ -3425,14 +3425,14 @@ ath_tx_start(struct ath_softc *sc, struct ieee80211_node *ni, struct ath_buf *bf ctsduration += ath_hal_computetxtime(ah, rt, pktlen, rix, AH_TRUE); if ((flags & HAL_TXDESC_NOACK) == 0) /* SIFS + ACK */ - ctsduration += rt->info[cix].spAckDuration; + ctsduration += rt->info[rix].spAckDuration; } else { if (flags & HAL_TXDESC_RTSENA) /* SIFS + CTS */ ctsduration += rt->info[cix].lpAckDuration; ctsduration += ath_hal_computetxtime(ah, rt, pktlen, rix, AH_FALSE); if ((flags & HAL_TXDESC_NOACK) == 0) /* SIFS + ACK */ - ctsduration += rt->info[cix].lpAckDuration; + ctsduration += rt->info[rix].lpAckDuration; } /* * Must disable multi-rate retry when using RTS/CTS. |