On Tue, 2008-10-14 at 23:36 -0700, Johannes Berg wrote: > So after the previous changes we were still unhappy with how > convoluted the API is and decided to make things simpler for > everybody. This completely changes the rate control API, now > taking into account 802.11n with MCS rates and more control, > most drivers don't support that though. > > Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> > Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> [...] > @@ -318,9 +348,33 @@ static void iwl3945_rx_reply_tx(struct i > } > > info = IEEE80211_SKB_CB(txq->txb[txq->q.read_ptr].skb[0]); > - memset(&info->status, 0, sizeof(info->status)); > + ieee80211_tx_info_clear_status(info); > + > + /* Fill the MRR chain with some info about on-chip retransmissions */ > + rate_idx = iwl3945_hwrate_to_plcp_idx(tx_resp->rate); > + if (info->band == IEEE80211_BAND_5GHZ) > + rate_idx -= IWL_FIRST_OFDM_RATE; > + > + info->status.rates[0].count = tx_resp->failure_frame + 1; This is useless. And it is even confusable with the later count++. > + fail = tx_resp->failure_frame; > + for(i = 0; i < 4; i++) { Where does the '4' come from? Why not IEEE80211_TX_MAX_RATES? > + int next = iwl3945_rs_next_rate(priv, rate_idx); > + > + info->status.rates[i].idx = rate_idx; > + > + if ((rate_idx == next) || (i == 3)) { ditto [...] Other iwlwifi changes looks fine to me. Thanks, -yi -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html