Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 122797
b: refs/heads/master
c: d5e4903
h: refs/heads/master
i:
  122795: 23c6de6
v: v3
  • Loading branch information
Mohamed Abbas authored and John W. Linville committed Dec 19, 2008
1 parent c1e0699 commit 1fa5f3f
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b8d476c8cb64a1640d8762aa442b8a73fa74b7d5
refs/heads/master: d5e490362feb648048ef20db9b0b2531d5425775
26 changes: 16 additions & 10 deletions trunk/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
Original file line number Diff line number Diff line change
Expand Up @@ -836,6 +836,10 @@ static void rs_tx_status(void *priv_r, struct ieee80211_supported_band *sband,
(hw->wiphy->bands[priv->band]->bitrates[rs_index].bitrate !=
hw->wiphy->bands[info->band]->bitrates[info->status.rates[0].idx].bitrate)) {
IWL_DEBUG_RATE("initial rate does not match 0x%x\n", tx_rate);
/* the last LQ command could failed so the LQ in ucode not
* the same in driver sync up
*/
iwl_send_lq_cmd(priv, &lq_sta->lq, CMD_ASYNC);
goto out;
}

Expand Down Expand Up @@ -2167,6 +2171,7 @@ static void rs_rate_init(void *priv_r, struct ieee80211_supported_band *sband,
struct iwl_priv *priv = (struct iwl_priv *)priv_r;
struct ieee80211_conf *conf = &priv->hw->conf;
struct iwl_lq_sta *lq_sta = priv_sta;
u16 mask_bit = 0;

lq_sta->flush_timer = 0;
lq_sta->supp_rates = sta->supp_rates[sband->band];
Expand Down Expand Up @@ -2200,16 +2205,6 @@ static void rs_rate_init(void *priv_r, struct ieee80211_supported_band *sband,
priv->assoc_station_added = 1;
}

/* Find highest tx rate supported by hardware and destination station */
lq_sta->last_txrate_idx = 3;
for (i = 0; i < sband->n_bitrates; i++)
if (sta->supp_rates[sband->band] & BIT(i))
lq_sta->last_txrate_idx = i;

/* For MODE_IEEE80211A, skip over cck rates in global rate table */
if (sband->band == IEEE80211_BAND_5GHZ)
lq_sta->last_txrate_idx += IWL_FIRST_OFDM_RATE;

lq_sta->is_dup = 0;
lq_sta->is_green = rs_use_green(priv, conf);
lq_sta->active_legacy_rate = priv->active_rate & ~(0x1000);
Expand Down Expand Up @@ -2248,6 +2243,17 @@ static void rs_rate_init(void *priv_r, struct ieee80211_supported_band *sband,
lq_sta->tx_agg_tid_en = IWL_AGG_ALL_TID;
lq_sta->drv = priv;

/* Find highest tx rate supported by hardware and destination station */
mask_bit = sta->supp_rates[sband->band] & lq_sta->active_legacy_rate;
lq_sta->last_txrate_idx = 3;
for (i = 0; i < sband->n_bitrates; i++)
if (mask_bit & BIT(i))
lq_sta->last_txrate_idx = i;

/* For MODE_IEEE80211A, skip over cck rates in global rate table */
if (sband->band == IEEE80211_BAND_5GHZ)
lq_sta->last_txrate_idx += IWL_FIRST_OFDM_RATE;

rs_initialize_lq(priv, conf, sta, lq_sta);
}

Expand Down

0 comments on commit 1fa5f3f

Please sign in to comment.