X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=target_firmware%2Fwlan%2Fratectrl_11n_ln.c;h=de8655016d2761327c8b6c63b7771795d40a38a6;hb=c1bf728baad0b199e6100b7f08da19c20118507b;hp=b6dda669dcc38f7197ac45d9be281cd08b848fea;hpb=eaacae6cedaf752150758b9baa0917e1deb1a99f;p=open-ath9k-htc-firmware.git diff --git a/target_firmware/wlan/ratectrl_11n_ln.c b/target_firmware/wlan/ratectrl_11n_ln.c index b6dda66..de86550 100755 --- a/target_firmware/wlan/ratectrl_11n_ln.c +++ b/target_firmware/wlan/ratectrl_11n_ln.c @@ -246,14 +246,14 @@ rcSibSetValidRates(const RATE_TABLE_11N *pRateTable, A_UINT8 i, j, hi = 0; A_UINT8 singleStream = (capflag & WLAN_RC_DS_FLAG) ? 0 : 1; A_UINT32 valid; - struct atheros_node *pSib = ATH_NODE_ATHEROS(an); /* Use intersection of working rates and valid rates */ for (i = 0; i < pRateSet->rs_nrates; i++) { for (j = 0; j < pRateTable->rateCount; j++) { A_UINT32 phy = pRateTable->info[j].phy; - #ifdef MAGPIE_MERLIN + struct atheros_node *pSib = ATH_NODE_ATHEROS(an); + if (pSib->stbc) { valid = pRateTable->info[j].validSTBC; } else if (singleStream) { @@ -300,14 +300,14 @@ rcSibSetValidHtRates(const RATE_TABLE_11N *pRateTable, A_UINT8 i, j, hi = 0; A_UINT8 singleStream = (capflag & WLAN_RC_DS_FLAG) ? 0 : 1; A_UINT8 valid; - struct atheros_node *pSib = ATH_NODE_ATHEROS(an); /* Use intersection of working rates and valid rates */ for (i = 0; i < ((struct ieee80211_rateset *)pMcsSet)->rs_nrates; i++) { for (j = 0; j < pRateTable->rateCount; j++) { A_UINT32 phy = pRateTable->info[j].phy; - #ifdef MAGPIE_MERLIN + struct atheros_node *pSib = ATH_NODE_ATHEROS(an); + if (pSib->stbc) { valid = pRateTable->info[j].validSTBC; } else if (singleStream) { @@ -476,7 +476,6 @@ rcRateFind_ht(struct ath_softc_tgt *sc, struct atheros_node *pSib, A_UINT32 bestThruput, thisThruput; A_UINT32 nowMsec; A_UINT8 rate, nextRate, bestRate; - A_RSSI rssiLast, rssiReduce = 0; A_UINT8 maxIndex, minIndex; A_INT8 index; TX_RATE_CTRL *pRc = NULL; @@ -676,7 +675,6 @@ void rcRateFind_11n(struct ath_softc_tgt *sc, struct ath_node_target *an, struct atheros_node *asn = ATH_NODE_ATHEROS(an); A_UINT8 rix, nrix; A_UINT8 dot11Rate; - A_UINT8 rateCode; WLAN_PHY phy; rix = rcRateFind_ht(sc, asn, pRateTable, (rcflag & ATH_RC_PROBE_ALLOWED) ? 1 : 0, @@ -758,13 +756,11 @@ rcUpdate_ht(struct ath_softc_tgt *sc, struct ath_node_target *an, int txRate, { TX_RATE_CTRL *pRc; A_UINT32 nowMsec = A_MS_TICKGET(); - A_BOOL stateChange = FALSE; A_UINT8 lastPer; int rate,count; struct atheros_node *pSib = ATH_NODE_ATHEROS(an); struct atheros_softc *asc = (struct atheros_softc*)sc->sc_rc; RATE_TABLE_11N *pRateTable = (RATE_TABLE_11N *)asc->hwRateTable[sc->sc_curmode]; - u_int32_t txRateKbps; static A_UINT32 nRetry2PerLookup[10] = { 100 * 0 / 1, // 0 @@ -1111,12 +1107,6 @@ ath_rate_findrate(struct ath_softc_tgt *sc, struct ath_rc_series series[], int *isProbe) { - struct ieee80211vap *vap = an->ni.ni_vap; - struct atheros_node *oan = ATH_NODE_ATHEROS(an); - struct atheros_softc *asc = (struct atheros_softc *) sc->sc_rc; - RATE_TABLE *pRateTable = (RATE_TABLE *)asc->hwRateTable[sc->sc_curmode]; - u_int32_t *retrySched; - *isProbe = 0; if (!numRates || !numTries) { @@ -1136,10 +1126,6 @@ ath_rate_tx_complete(struct ath_softc_tgt *sc, struct ath_rc_series rcs[], int nframes, int nbad) { - struct atheros_softc *asc = (struct atheros_softc *) sc->sc_rc; - const RATE_TABLE *pRateTable = (RATE_TABLE *)asc->hwRateTable[sc->sc_curmode]; - u_int8_t txRate = ds->ds_txstat.ts_rate &~ HAL_TXSTAT_ALTRATE; - ath_rate_tx_complete_11n(sc, an, ds, rcs, nframes, nbad); } @@ -1175,7 +1161,7 @@ ath_rate_newstate(struct ath_softc_tgt *sc, struct atheros_softc *asc = (struct atheros_softc *) sc->sc_rc; asc->tx_chainmask = sc->sc_ic.ic_tx_chainmask; - ath_rate_newassoc(sc, ni, 1, capflag, rs); + ath_rate_newassoc(sc, ATH_NODE_TARGET(ni), 1, capflag, rs); } static void @@ -1189,9 +1175,6 @@ ath_rate_findrate_11n(struct ath_softc_tgt *sc, struct ath_rc_series series[], int *isProbe) { - struct ieee80211vap *vap = an->ni.ni_vap; - struct atheros_node *oan = ATH_NODE_ATHEROS(an); - *isProbe = 0; if (!numRates || !numTries) { return; @@ -1227,8 +1210,6 @@ static void ath_rate_newassoc_11n(struct ath_softc_tgt *sc, struct ath_node_target *an, int isnew, unsigned int capflag, struct ieee80211_rate *rs) { - struct ieee80211vap *vap = an->ni.ni_vap; - if (isnew) { struct atheros_node *oan = ATH_NODE_ATHEROS(an);