From f6cbf16a0fb7cc627cbf250f72177e114dd10b40 Mon Sep 17 00:00:00 2001 From: Sam Leffler Date: Sat, 13 Jun 2009 23:36:54 +0000 Subject: [PATCH] purge HAL_TXSTAT_ALTRATE; you can figure this out by checking ts_finaltsi and it cannot be used with MCS rate codes --- sys/dev/ath/ath_hal/ah_desc.h | 3 +-- sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c | 9 +++------ sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c | 9 +++------ sys/dev/ath/ath_rate/sample/sample.c | 4 ++-- sys/dev/ath/if_ath.c | 2 +- 5 files changed, 10 insertions(+), 17 deletions(-) diff --git a/sys/dev/ath/ath_hal/ah_desc.h b/sys/dev/ath/ath_hal/ah_desc.h index 6cfad061bec..919e2474360 100644 --- a/sys/dev/ath/ath_hal/ah_desc.h +++ b/sys/dev/ath/ath_hal/ah_desc.h @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $Id: ah_desc.h,v 1.5 2008/11/10 04:08:00 sam Exp $ + * $FreeBSD$ */ #ifndef _DEV_ATH_DESC_H @@ -36,7 +36,6 @@ struct ath_tx_status { uint16_t ts_tstamp; /* h/w assigned timestamp */ uint8_t ts_status; /* frame status, 0 => xmit ok */ uint8_t ts_rate; /* h/w transmit rate index */ -#define HAL_TXSTAT_ALTRATE 0x80 /* alternate xmit rate used */ int8_t ts_rssi; /* tx ack RSSI */ uint8_t ts_shortretry; /* # short retries */ uint8_t ts_longretry; /* # long retries */ diff --git a/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c b/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c index 2af68b9218e..ecdf34ebe46 100644 --- a/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c +++ b/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c @@ -869,16 +869,13 @@ ar5212ProcTxDesc(struct ath_hal *ah, ts->ts_rate = MS(ads->ds_ctl3, AR_XmitRate0); break; case 1: - ts->ts_rate = MS(ads->ds_ctl3, AR_XmitRate1) | - HAL_TXSTAT_ALTRATE; + ts->ts_rate = MS(ads->ds_ctl3, AR_XmitRate1); break; case 2: - ts->ts_rate = MS(ads->ds_ctl3, AR_XmitRate2) | - HAL_TXSTAT_ALTRATE; + ts->ts_rate = MS(ads->ds_ctl3, AR_XmitRate2); break; case 3: - ts->ts_rate = MS(ads->ds_ctl3, AR_XmitRate3) | - HAL_TXSTAT_ALTRATE; + ts->ts_rate = MS(ads->ds_ctl3, AR_XmitRate3); break; } ts->ts_rssi = MS(ads->ds_txstatus1, AR_AckSigStrength); diff --git a/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c b/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c index e82474baecc..47277a18b4e 100644 --- a/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c +++ b/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c @@ -519,16 +519,13 @@ ar5416ProcTxDesc(struct ath_hal *ah, ts->ts_rate = MS(ads->ds_ctl3, AR_XmitRate0); break; case 1: - ts->ts_rate = MS(ads->ds_ctl3, AR_XmitRate1) | - HAL_TXSTAT_ALTRATE; + ts->ts_rate = MS(ads->ds_ctl3, AR_XmitRate1); break; case 2: - ts->ts_rate = MS(ads->ds_ctl3, AR_XmitRate2) | - HAL_TXSTAT_ALTRATE; + ts->ts_rate = MS(ads->ds_ctl3, AR_XmitRate2); break; case 3: - ts->ts_rate = MS(ads->ds_ctl3, AR_XmitRate3) | - HAL_TXSTAT_ALTRATE; + ts->ts_rate = MS(ads->ds_ctl3, AR_XmitRate3); break; } diff --git a/sys/dev/ath/ath_rate/sample/sample.c b/sys/dev/ath/ath_rate/sample/sample.c index abdab6a397d..714ee9d8d24 100644 --- a/sys/dev/ath/ath_rate/sample/sample.c +++ b/sys/dev/ath/ath_rate/sample/sample.c @@ -561,7 +561,7 @@ ath_rate_tx_complete(struct ath_softc *sc, struct ath_node *an, const HAL_RATE_TABLE *rt = sc->sc_currates; int mrr; - final_rix = rt->rateCodeToIndex[ts->ts_rate &~ HAL_TXSTAT_ALTRATE]; + final_rix = rt->rateCodeToIndex[ts->ts_rate]; short_tries = ts->ts_shortretry; long_tries = ts->ts_longretry + 1; frame_size = ds0->ds_ctl0 & 0x0fff; /* low-order 12 bits of ds_ctl0 */ @@ -579,7 +579,7 @@ ath_rate_tx_complete(struct ath_softc *sc, struct ath_node *an, return; } mrr = sc->sc_mrretry && !(ic->ic_flags & IEEE80211_F_USEPROT); - if (!mrr || !(ts->ts_rate & HAL_TXSTAT_ALTRATE)) { + if (!mrr || ts->ts_finaltsi == 0) { if (!IS_RATE_DEFINED(sn, final_rix)) { badrate(ifp, 0, ts->ts_rate, long_tries, ts->ts_status); return; diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index 2413d193d8e..4a0401f3bdd 100644 --- a/sys/dev/ath/if_ath.c +++ b/sys/dev/ath/if_ath.c @@ -4918,7 +4918,7 @@ ath_tx_processq(struct ath_softc *sc, struct ath_txq *txq) u_int8_t txant = ts->ts_antenna; sc->sc_stats.ast_ant_tx[txant]++; sc->sc_ant_tx[txant]++; - if (ts->ts_rate & HAL_TXSTAT_ALTRATE) + if (ts->ts_finaltsi != 0) sc->sc_stats.ast_tx_altrate++; pri = M_WME_GETAC(bf->bf_m); if (pri >= WME_AC_VO)