aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn-rs.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-rs.c81
1 files changed, 41 insertions, 40 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
index 52a4810274e9..21331552ff2c 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
@@ -97,7 +97,7 @@ struct iwl_scale_tbl_info {
97 enum iwl_table_type lq_type; 97 enum iwl_table_type lq_type;
98 u8 ant_type; 98 u8 ant_type;
99 u8 is_SGI; /* 1 = short guard interval */ 99 u8 is_SGI; /* 1 = short guard interval */
100 u8 is_fat; /* 1 = 40 MHz channel width */ 100 u8 is_ht40; /* 1 = 40 MHz channel width */
101 u8 is_dup; /* 1 = duplicated data streams */ 101 u8 is_dup; /* 1 = duplicated data streams */
102 u8 action; /* change modulation; IWL_[LEGACY/SISO/MIMO]_SWITCH_* */ 102 u8 action; /* change modulation; IWL_[LEGACY/SISO/MIMO]_SWITCH_* */
103 u8 max_search; /* maximun number of tables we can search */ 103 u8 max_search; /* maximun number of tables we can search */
@@ -539,11 +539,11 @@ static u32 rate_n_flags_from_tbl(struct iwl_priv *priv,
539 RATE_MCS_ANT_ABC_MSK); 539 RATE_MCS_ANT_ABC_MSK);
540 540
541 if (is_Ht(tbl->lq_type)) { 541 if (is_Ht(tbl->lq_type)) {
542 if (tbl->is_fat) { 542 if (tbl->is_ht40) {
543 if (tbl->is_dup) 543 if (tbl->is_dup)
544 rate_n_flags |= RATE_MCS_DUP_MSK; 544 rate_n_flags |= RATE_MCS_DUP_MSK;
545 else 545 else
546 rate_n_flags |= RATE_MCS_FAT_MSK; 546 rate_n_flags |= RATE_MCS_HT40_MSK;
547 } 547 }
548 if (tbl->is_SGI) 548 if (tbl->is_SGI)
549 rate_n_flags |= RATE_MCS_SGI_MSK; 549 rate_n_flags |= RATE_MCS_SGI_MSK;
@@ -579,7 +579,7 @@ static int rs_get_tbl_info_from_mcs(const u32 rate_n_flags,
579 return -EINVAL; 579 return -EINVAL;
580 } 580 }
581 tbl->is_SGI = 0; /* default legacy setup */ 581 tbl->is_SGI = 0; /* default legacy setup */
582 tbl->is_fat = 0; 582 tbl->is_ht40 = 0;
583 tbl->is_dup = 0; 583 tbl->is_dup = 0;
584 tbl->ant_type = (ant_msk >> RATE_MCS_ANT_POS); 584 tbl->ant_type = (ant_msk >> RATE_MCS_ANT_POS);
585 tbl->lq_type = LQ_NONE; 585 tbl->lq_type = LQ_NONE;
@@ -598,9 +598,9 @@ static int rs_get_tbl_info_from_mcs(const u32 rate_n_flags,
598 if (rate_n_flags & RATE_MCS_SGI_MSK) 598 if (rate_n_flags & RATE_MCS_SGI_MSK)
599 tbl->is_SGI = 1; 599 tbl->is_SGI = 1;
600 600
601 if ((rate_n_flags & RATE_MCS_FAT_MSK) || 601 if ((rate_n_flags & RATE_MCS_HT40_MSK) ||
602 (rate_n_flags & RATE_MCS_DUP_MSK)) 602 (rate_n_flags & RATE_MCS_DUP_MSK))
603 tbl->is_fat = 1; 603 tbl->is_ht40 = 1;
604 604
605 if (rate_n_flags & RATE_MCS_DUP_MSK) 605 if (rate_n_flags & RATE_MCS_DUP_MSK)
606 tbl->is_dup = 1; 606 tbl->is_dup = 1;
@@ -776,7 +776,7 @@ static u32 rs_get_lower_rate(struct iwl_lq_sta *lq_sta,
776 if (num_of_ant(tbl->ant_type) > 1) 776 if (num_of_ant(tbl->ant_type) > 1)
777 tbl->ant_type = ANT_A;/*FIXME:RS*/ 777 tbl->ant_type = ANT_A;/*FIXME:RS*/
778 778
779 tbl->is_fat = 0; 779 tbl->is_ht40 = 0;
780 tbl->is_SGI = 0; 780 tbl->is_SGI = 0;
781 tbl->max_search = IWL_MAX_SEARCH; 781 tbl->max_search = IWL_MAX_SEARCH;
782 } 782 }
@@ -880,7 +880,7 @@ static void rs_tx_status(void *priv_r, struct ieee80211_supported_band *sband,
880 880
881 if ((info->status.rates[0].idx < 0) || 881 if ((info->status.rates[0].idx < 0) ||
882 (tbl_type.is_SGI != !!(info->status.rates[0].flags & IEEE80211_TX_RC_SHORT_GI)) || 882 (tbl_type.is_SGI != !!(info->status.rates[0].flags & IEEE80211_TX_RC_SHORT_GI)) ||
883 (tbl_type.is_fat != !!(info->status.rates[0].flags & IEEE80211_TX_RC_40_MHZ_WIDTH)) || 883 (tbl_type.is_ht40 != !!(info->status.rates[0].flags & IEEE80211_TX_RC_40_MHZ_WIDTH)) ||
884 (tbl_type.is_dup != !!(info->status.rates[0].flags & IEEE80211_TX_RC_DUP_DATA)) || 884 (tbl_type.is_dup != !!(info->status.rates[0].flags & IEEE80211_TX_RC_DUP_DATA)) ||
885 (tbl_type.ant_type != info->antenna_sel_tx) || 885 (tbl_type.ant_type != info->antenna_sel_tx) ||
886 (!!(tx_rate & RATE_MCS_HT_MSK) != !!(info->status.rates[0].flags & IEEE80211_TX_RC_MCS)) || 886 (!!(tx_rate & RATE_MCS_HT_MSK) != !!(info->status.rates[0].flags & IEEE80211_TX_RC_MCS)) ||
@@ -1049,7 +1049,7 @@ static void rs_set_expected_tpt_table(struct iwl_lq_sta *lq_sta,
1049 else 1049 else
1050 tbl->expected_tpt = expected_tpt_A; 1050 tbl->expected_tpt = expected_tpt_A;
1051 } else if (is_siso(tbl->lq_type)) { 1051 } else if (is_siso(tbl->lq_type)) {
1052 if (tbl->is_fat && !lq_sta->is_dup) 1052 if (tbl->is_ht40 && !lq_sta->is_dup)
1053 if (tbl->is_SGI) 1053 if (tbl->is_SGI)
1054 tbl->expected_tpt = expected_tpt_siso40MHzSGI; 1054 tbl->expected_tpt = expected_tpt_siso40MHzSGI;
1055 else 1055 else
@@ -1059,7 +1059,7 @@ static void rs_set_expected_tpt_table(struct iwl_lq_sta *lq_sta,
1059 else 1059 else
1060 tbl->expected_tpt = expected_tpt_siso20MHz; 1060 tbl->expected_tpt = expected_tpt_siso20MHz;
1061 } else if (is_mimo2(tbl->lq_type)) { 1061 } else if (is_mimo2(tbl->lq_type)) {
1062 if (tbl->is_fat && !lq_sta->is_dup) 1062 if (tbl->is_ht40 && !lq_sta->is_dup)
1063 if (tbl->is_SGI) 1063 if (tbl->is_SGI)
1064 tbl->expected_tpt = expected_tpt_mimo2_40MHzSGI; 1064 tbl->expected_tpt = expected_tpt_mimo2_40MHzSGI;
1065 else 1065 else
@@ -1069,7 +1069,7 @@ static void rs_set_expected_tpt_table(struct iwl_lq_sta *lq_sta,
1069 else 1069 else
1070 tbl->expected_tpt = expected_tpt_mimo2_20MHz; 1070 tbl->expected_tpt = expected_tpt_mimo2_20MHz;
1071 } else if (is_mimo3(tbl->lq_type)) { 1071 } else if (is_mimo3(tbl->lq_type)) {
1072 if (tbl->is_fat && !lq_sta->is_dup) 1072 if (tbl->is_ht40 && !lq_sta->is_dup)
1073 if (tbl->is_SGI) 1073 if (tbl->is_SGI)
1074 tbl->expected_tpt = expected_tpt_mimo3_40MHzSGI; 1074 tbl->expected_tpt = expected_tpt_mimo3_40MHzSGI;
1075 else 1075 else
@@ -1217,13 +1217,13 @@ static int rs_switch_to_mimo2(struct iwl_priv *priv,
1217 tbl->max_search = IWL_MAX_SEARCH; 1217 tbl->max_search = IWL_MAX_SEARCH;
1218 rate_mask = lq_sta->active_mimo2_rate; 1218 rate_mask = lq_sta->active_mimo2_rate;
1219 1219
1220 if (iwl_is_fat_tx_allowed(priv, &sta->ht_cap)) 1220 if (iwl_is_ht40_tx_allowed(priv, &sta->ht_cap))
1221 tbl->is_fat = 1; 1221 tbl->is_ht40 = 1;
1222 else 1222 else
1223 tbl->is_fat = 0; 1223 tbl->is_ht40 = 0;
1224 1224
1225 /* FIXME: - don't toggle SGI here 1225 /* FIXME: - don't toggle SGI here
1226 if (tbl->is_fat) { 1226 if (tbl->is_ht40) {
1227 if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY) 1227 if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY)
1228 tbl->is_SGI = 1; 1228 tbl->is_SGI = 1;
1229 else 1229 else
@@ -1283,13 +1283,13 @@ static int rs_switch_to_mimo3(struct iwl_priv *priv,
1283 tbl->max_search = IWL_MAX_11N_MIMO3_SEARCH; 1283 tbl->max_search = IWL_MAX_11N_MIMO3_SEARCH;
1284 rate_mask = lq_sta->active_mimo3_rate; 1284 rate_mask = lq_sta->active_mimo3_rate;
1285 1285
1286 if (iwl_is_fat_tx_allowed(priv, &sta->ht_cap)) 1286 if (iwl_is_ht40_tx_allowed(priv, &sta->ht_cap))
1287 tbl->is_fat = 1; 1287 tbl->is_ht40 = 1;
1288 else 1288 else
1289 tbl->is_fat = 0; 1289 tbl->is_ht40 = 0;
1290 1290
1291 /* FIXME: - don't toggle SGI here 1291 /* FIXME: - don't toggle SGI here
1292 if (tbl->is_fat) { 1292 if (tbl->is_ht40) {
1293 if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY) 1293 if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY)
1294 tbl->is_SGI = 1; 1294 tbl->is_SGI = 1;
1295 else 1295 else
@@ -1342,13 +1342,13 @@ static int rs_switch_to_siso(struct iwl_priv *priv,
1342 tbl->max_search = IWL_MAX_SEARCH; 1342 tbl->max_search = IWL_MAX_SEARCH;
1343 rate_mask = lq_sta->active_siso_rate; 1343 rate_mask = lq_sta->active_siso_rate;
1344 1344
1345 if (iwl_is_fat_tx_allowed(priv, &sta->ht_cap)) 1345 if (iwl_is_ht40_tx_allowed(priv, &sta->ht_cap))
1346 tbl->is_fat = 1; 1346 tbl->is_ht40 = 1;
1347 else 1347 else
1348 tbl->is_fat = 0; 1348 tbl->is_ht40 = 0;
1349 1349
1350 /* FIXME: - don't toggle SGI here 1350 /* FIXME: - don't toggle SGI here
1351 if (tbl->is_fat) { 1351 if (tbl->is_ht40) {
1352 if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY) 1352 if (priv->current_ht_config.sgf & HT_SHORT_GI_40MHZ_ONLY)
1353 tbl->is_SGI = 1; 1353 tbl->is_SGI = 1;
1354 else 1354 else
@@ -1401,7 +1401,7 @@ static int rs_move_legacy_other(struct iwl_priv *priv,
1401 if (!iwl_ht_enabled(priv)) 1401 if (!iwl_ht_enabled(priv))
1402 /* stay in Legacy */ 1402 /* stay in Legacy */
1403 tbl->action = IWL_LEGACY_SWITCH_ANTENNA1; 1403 tbl->action = IWL_LEGACY_SWITCH_ANTENNA1;
1404 else if (iwl_tx_ant_restriction(priv) == IWL_TX_SINGLE && 1404 else if (iwl_tx_ant_restriction(priv) == IWL_ANT_OK_SINGLE &&
1405 tbl->action > IWL_LEGACY_SWITCH_SISO) 1405 tbl->action > IWL_LEGACY_SWITCH_SISO)
1406 tbl->action = IWL_LEGACY_SWITCH_SISO; 1406 tbl->action = IWL_LEGACY_SWITCH_SISO;
1407 for (; ;) { 1407 for (; ;) {
@@ -1535,7 +1535,7 @@ static int rs_move_siso_to_other(struct iwl_priv *priv,
1535 u8 update_search_tbl_counter = 0; 1535 u8 update_search_tbl_counter = 0;
1536 int ret; 1536 int ret;
1537 1537
1538 if (iwl_tx_ant_restriction(priv) == IWL_TX_SINGLE && 1538 if (iwl_tx_ant_restriction(priv) == IWL_ANT_OK_SINGLE &&
1539 tbl->action > IWL_SISO_SWITCH_ANTENNA2) { 1539 tbl->action > IWL_SISO_SWITCH_ANTENNA2) {
1540 /* stay in SISO */ 1540 /* stay in SISO */
1541 tbl->action = IWL_SISO_SWITCH_ANTENNA1; 1541 tbl->action = IWL_SISO_SWITCH_ANTENNA1;
@@ -1586,11 +1586,11 @@ static int rs_move_siso_to_other(struct iwl_priv *priv,
1586 goto out; 1586 goto out;
1587 break; 1587 break;
1588 case IWL_SISO_SWITCH_GI: 1588 case IWL_SISO_SWITCH_GI:
1589 if (!tbl->is_fat && 1589 if (!tbl->is_ht40 &&
1590 !(priv->current_ht_config.sgf & 1590 !(priv->current_ht_config.sgf &
1591 HT_SHORT_GI_20MHZ)) 1591 HT_SHORT_GI_20MHZ))
1592 break; 1592 break;
1593 if (tbl->is_fat && 1593 if (tbl->is_ht40 &&
1594 !(priv->current_ht_config.sgf & 1594 !(priv->current_ht_config.sgf &
1595 HT_SHORT_GI_40MHZ)) 1595 HT_SHORT_GI_40MHZ))
1596 break; 1596 break;
@@ -1674,7 +1674,7 @@ static int rs_move_mimo2_to_other(struct iwl_priv *priv,
1674 u8 update_search_tbl_counter = 0; 1674 u8 update_search_tbl_counter = 0;
1675 int ret; 1675 int ret;
1676 1676
1677 if ((iwl_tx_ant_restriction(priv) == IWL_TX_SINGLE) && 1677 if ((iwl_tx_ant_restriction(priv) == IWL_ANT_OK_SINGLE) &&
1678 (tbl->action < IWL_MIMO2_SWITCH_SISO_A || 1678 (tbl->action < IWL_MIMO2_SWITCH_SISO_A ||
1679 tbl->action > IWL_MIMO2_SWITCH_SISO_C)) { 1679 tbl->action > IWL_MIMO2_SWITCH_SISO_C)) {
1680 /* switch in SISO */ 1680 /* switch in SISO */
@@ -1726,11 +1726,11 @@ static int rs_move_mimo2_to_other(struct iwl_priv *priv,
1726 break; 1726 break;
1727 1727
1728 case IWL_MIMO2_SWITCH_GI: 1728 case IWL_MIMO2_SWITCH_GI:
1729 if (!tbl->is_fat && 1729 if (!tbl->is_ht40 &&
1730 !(priv->current_ht_config.sgf & 1730 !(priv->current_ht_config.sgf &
1731 HT_SHORT_GI_20MHZ)) 1731 HT_SHORT_GI_20MHZ))
1732 break; 1732 break;
1733 if (tbl->is_fat && 1733 if (tbl->is_ht40 &&
1734 !(priv->current_ht_config.sgf & 1734 !(priv->current_ht_config.sgf &
1735 HT_SHORT_GI_40MHZ)) 1735 HT_SHORT_GI_40MHZ))
1736 break; 1736 break;
@@ -1816,7 +1816,7 @@ static int rs_move_mimo3_to_other(struct iwl_priv *priv,
1816 int ret; 1816 int ret;
1817 u8 update_search_tbl_counter = 0; 1817 u8 update_search_tbl_counter = 0;
1818 1818
1819 if ((iwl_tx_ant_restriction(priv) == IWL_TX_SINGLE) && 1819 if ((iwl_tx_ant_restriction(priv) == IWL_ANT_OK_SINGLE) &&
1820 (tbl->action < IWL_MIMO3_SWITCH_SISO_A || 1820 (tbl->action < IWL_MIMO3_SWITCH_SISO_A ||
1821 tbl->action > IWL_MIMO3_SWITCH_SISO_C)) { 1821 tbl->action > IWL_MIMO3_SWITCH_SISO_C)) {
1822 /* switch in SISO */ 1822 /* switch in SISO */
@@ -1890,11 +1890,11 @@ static int rs_move_mimo3_to_other(struct iwl_priv *priv,
1890 break; 1890 break;
1891 1891
1892 case IWL_MIMO3_SWITCH_GI: 1892 case IWL_MIMO3_SWITCH_GI:
1893 if (!tbl->is_fat && 1893 if (!tbl->is_ht40 &&
1894 !(priv->current_ht_config.sgf & 1894 !(priv->current_ht_config.sgf &
1895 HT_SHORT_GI_20MHZ)) 1895 HT_SHORT_GI_20MHZ))
1896 break; 1896 break;
1897 if (tbl->is_fat && 1897 if (tbl->is_ht40 &&
1898 !(priv->current_ht_config.sgf & 1898 !(priv->current_ht_config.sgf &
1899 HT_SHORT_GI_40MHZ)) 1899 HT_SHORT_GI_40MHZ))
1900 break; 1900 break;
@@ -2202,7 +2202,7 @@ static void rs_rate_scale_perform(struct iwl_priv *priv,
2202 2202
2203 /* If we are searching for better modulation mode, check success. */ 2203 /* If we are searching for better modulation mode, check success. */
2204 if (lq_sta->search_better_tbl && 2204 if (lq_sta->search_better_tbl &&
2205 (iwl_tx_ant_restriction(priv) == IWL_TX_MULTI)) { 2205 (iwl_tx_ant_restriction(priv) == IWL_ANT_OK_MULTI)) {
2206 /* If good success, continue using the "search" mode; 2206 /* If good success, continue using the "search" mode;
2207 * no need to send new link quality command, since we're 2207 * no need to send new link quality command, since we're
2208 * continuing to use the setup that we've been trying. */ 2208 * continuing to use the setup that we've been trying. */
@@ -2332,7 +2332,7 @@ static void rs_rate_scale_perform(struct iwl_priv *priv,
2332 scale_action = 0; 2332 scale_action = 0;
2333 if (!iwl_ht_enabled(priv) && !is_legacy(tbl->lq_type)) 2333 if (!iwl_ht_enabled(priv) && !is_legacy(tbl->lq_type))
2334 scale_action = -1; 2334 scale_action = -1;
2335 if (iwl_tx_ant_restriction(priv) != IWL_TX_MULTI && 2335 if (iwl_tx_ant_restriction(priv) != IWL_ANT_OK_MULTI &&
2336 (is_mimo2(tbl->lq_type) || is_mimo3(tbl->lq_type))) 2336 (is_mimo2(tbl->lq_type) || is_mimo3(tbl->lq_type)))
2337 scale_action = -1; 2337 scale_action = -1;
2338 switch (scale_action) { 2338 switch (scale_action) {
@@ -2368,7 +2368,7 @@ lq_update:
2368 rate = rs_update_rate_tbl(priv, lq_sta, 2368 rate = rs_update_rate_tbl(priv, lq_sta,
2369 tbl, index, is_green); 2369 tbl, index, is_green);
2370 2370
2371 if (iwl_tx_ant_restriction(priv) == IWL_TX_MULTI) { 2371 if (iwl_tx_ant_restriction(priv) == IWL_ANT_OK_MULTI) {
2372 /* Should we stay with this modulation mode, 2372 /* Should we stay with this modulation mode,
2373 * or search for a new one? */ 2373 * or search for a new one? */
2374 rs_stay_in_table(lq_sta); 2374 rs_stay_in_table(lq_sta);
@@ -2576,7 +2576,7 @@ static void rs_get_rate(void *priv_r, struct ieee80211_sta *sta, void *priv_sta,
2576 info->control.rates[0].flags |= IEEE80211_TX_RC_SHORT_GI; 2576 info->control.rates[0].flags |= IEEE80211_TX_RC_SHORT_GI;
2577 if (lq_sta->last_rate_n_flags & RATE_MCS_DUP_MSK) 2577 if (lq_sta->last_rate_n_flags & RATE_MCS_DUP_MSK)
2578 info->control.rates[0].flags |= IEEE80211_TX_RC_DUP_DATA; 2578 info->control.rates[0].flags |= IEEE80211_TX_RC_DUP_DATA;
2579 if (lq_sta->last_rate_n_flags & RATE_MCS_FAT_MSK) 2579 if (lq_sta->last_rate_n_flags & RATE_MCS_HT40_MSK)
2580 info->control.rates[0].flags |= IEEE80211_TX_RC_40_MHZ_WIDTH; 2580 info->control.rates[0].flags |= IEEE80211_TX_RC_40_MHZ_WIDTH;
2581 if (lq_sta->last_rate_n_flags & RATE_MCS_GF_MSK) 2581 if (lq_sta->last_rate_n_flags & RATE_MCS_GF_MSK)
2582 info->control.rates[0].flags |= IEEE80211_TX_RC_GREEN_FIELD; 2582 info->control.rates[0].flags |= IEEE80211_TX_RC_GREEN_FIELD;
@@ -2963,7 +2963,7 @@ static ssize_t rs_sta_dbgfs_scale_table_read(struct file *file,
2963 (is_siso(tbl->lq_type)) ? "SISO" : 2963 (is_siso(tbl->lq_type)) ? "SISO" :
2964 ((is_mimo2(tbl->lq_type)) ? "MIMO2" : "MIMO3")); 2964 ((is_mimo2(tbl->lq_type)) ? "MIMO2" : "MIMO3"));
2965 desc += sprintf(buff+desc, " %s", 2965 desc += sprintf(buff+desc, " %s",
2966 (tbl->is_fat) ? "40MHz" : "20MHz"); 2966 (tbl->is_ht40) ? "40MHz" : "20MHz");
2967 desc += sprintf(buff+desc, " %s %s\n", (tbl->is_SGI) ? "SGI" : "", 2967 desc += sprintf(buff+desc, " %s %s\n", (tbl->is_SGI) ? "SGI" : "",
2968 (lq_sta->is_green) ? "GF enabled" : ""); 2968 (lq_sta->is_green) ? "GF enabled" : "");
2969 } 2969 }
@@ -3028,12 +3028,13 @@ static ssize_t rs_sta_dbgfs_stats_table_read(struct file *file,
3028 return -ENOMEM; 3028 return -ENOMEM;
3029 3029
3030 for (i = 0; i < LQ_SIZE; i++) { 3030 for (i = 0; i < LQ_SIZE; i++) {
3031 desc += sprintf(buff+desc, "%s type=%d SGI=%d FAT=%d DUP=%d GF=%d\n" 3031 desc += sprintf(buff+desc,
3032 "%s type=%d SGI=%d HT40=%d DUP=%d GF=%d\n"
3032 "rate=0x%X\n", 3033 "rate=0x%X\n",
3033 lq_sta->active_tbl == i ? "*" : "x", 3034 lq_sta->active_tbl == i ? "*" : "x",
3034 lq_sta->lq_info[i].lq_type, 3035 lq_sta->lq_info[i].lq_type,
3035 lq_sta->lq_info[i].is_SGI, 3036 lq_sta->lq_info[i].is_SGI,
3036 lq_sta->lq_info[i].is_fat, 3037 lq_sta->lq_info[i].is_ht40,
3037 lq_sta->lq_info[i].is_dup, 3038 lq_sta->lq_info[i].is_dup,
3038 lq_sta->is_green, 3039 lq_sta->is_green,
3039 lq_sta->lq_info[i].current_rate); 3040 lq_sta->lq_info[i].current_rate);