aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath9k/rc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath9k/rc.c')
-rw-r--r--drivers/net/wireless/ath9k/rc.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/net/wireless/ath9k/rc.c b/drivers/net/wireless/ath9k/rc.c
index 704b62778142..a4e863191766 100644
--- a/drivers/net/wireless/ath9k/rc.c
+++ b/drivers/net/wireless/ath9k/rc.c
@@ -15,7 +15,7 @@
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */ 16 */
17 17
18#include "core.h" 18#include "ath9k.h"
19 19
20static struct ath_rate_table ar5416_11na_ratetable = { 20static struct ath_rate_table ar5416_11na_ratetable = {
21 42, 21 42,
@@ -1267,6 +1267,8 @@ static void ath_rc_update_ht(struct ath_softc *sc,
1267 ath_rc_priv->per_down_time = now_msec; 1267 ath_rc_priv->per_down_time = now_msec;
1268 } 1268 }
1269 1269
1270 ath_debug_stat_retries(sc, tx_rate, xretries, retries);
1271
1270#undef CHK_RSSI 1272#undef CHK_RSSI
1271} 1273}
1272 1274
@@ -1392,13 +1394,13 @@ static void ath_rc_init(struct ath_softc *sc,
1392 u8 i, j, k, hi = 0, hthi = 0; 1394 u8 i, j, k, hi = 0, hthi = 0;
1393 1395
1394 /* FIXME: Adhoc */ 1396 /* FIXME: Adhoc */
1395 if ((sc->sc_ah->ah_opmode == NL80211_IFTYPE_STATION) || 1397 if ((sc->sc_ah->opmode == NL80211_IFTYPE_STATION) ||
1396 (sc->sc_ah->ah_opmode == NL80211_IFTYPE_ADHOC)) { 1398 (sc->sc_ah->opmode == NL80211_IFTYPE_ADHOC)) {
1397 bool is_cw_40 = sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40; 1399 bool is_cw_40 = sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40;
1398 rate_table = ath_choose_rate_table(sc, sband->band, 1400 rate_table = ath_choose_rate_table(sc, sband->band,
1399 sta->ht_cap.ht_supported, 1401 sta->ht_cap.ht_supported,
1400 is_cw_40); 1402 is_cw_40);
1401 } else if (sc->sc_ah->ah_opmode == NL80211_IFTYPE_AP) { 1403 } else if (sc->sc_ah->opmode == NL80211_IFTYPE_AP) {
1402 /* cur_rate_table would be set on init through config() */ 1404 /* cur_rate_table would be set on init through config() */
1403 rate_table = sc->cur_rate_table; 1405 rate_table = sc->cur_rate_table;
1404 } 1406 }
@@ -1410,7 +1412,7 @@ static void ath_rc_init(struct ath_softc *sc,
1410 1412
1411 if (sta->ht_cap.ht_supported) { 1413 if (sta->ht_cap.ht_supported) {
1412 ath_rc_priv->ht_cap = WLAN_RC_HT_FLAG; 1414 ath_rc_priv->ht_cap = WLAN_RC_HT_FLAG;
1413 if (sc->sc_ah->ah_caps.tx_chainmask != 1) 1415 if (sc->sc_ah->caps.tx_chainmask != 1)
1414 ath_rc_priv->ht_cap |= WLAN_RC_DS_FLAG; 1416 ath_rc_priv->ht_cap |= WLAN_RC_DS_FLAG;
1415 if (sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40) 1417 if (sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40)
1416 ath_rc_priv->ht_cap |= WLAN_RC_40_FLAG; 1418 ath_rc_priv->ht_cap |= WLAN_RC_40_FLAG;
@@ -1517,7 +1519,7 @@ static void ath_tx_status(void *priv, struct ieee80211_supported_band *sband,
1517 */ 1519 */
1518 if (tx_info_priv->tx.ts_flags & 1520 if (tx_info_priv->tx.ts_flags &
1519 (ATH9K_TX_DATA_UNDERRUN | ATH9K_TX_DELIM_UNDERRUN) && 1521 (ATH9K_TX_DATA_UNDERRUN | ATH9K_TX_DELIM_UNDERRUN) &&
1520 ((sc->sc_ah->ah_txTrigLevel) >= ath_rc_priv->tx_triglevel_max)) { 1522 ((sc->sc_ah->tx_trig_level) >= ath_rc_priv->tx_triglevel_max)) {
1521 tx_status = 1; 1523 tx_status = 1;
1522 is_underrun = 1; 1524 is_underrun = 1;
1523 } 1525 }
@@ -1626,7 +1628,7 @@ static void *ath_rate_alloc_sta(void *priv, struct ieee80211_sta *sta, gfp_t gfp
1626 } 1628 }
1627 1629
1628 rate_priv->rssi_down_time = jiffies_to_msecs(jiffies); 1630 rate_priv->rssi_down_time = jiffies_to_msecs(jiffies);
1629 rate_priv->tx_triglevel_max = sc->sc_ah->ah_caps.tx_triglevel_max; 1631 rate_priv->tx_triglevel_max = sc->sc_ah->caps.tx_triglevel_max;
1630 1632
1631 return rate_priv; 1633 return rate_priv;
1632} 1634}