aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r--net/mac80211/tx.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 140da4a7f13d..4961168f5091 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -520,6 +520,7 @@ ieee80211_tx_h_rate_ctrl(struct ieee80211_tx_data *tx)
520 txrc.skb = tx->skb; 520 txrc.skb = tx->skb;
521 txrc.reported_rate.idx = -1; 521 txrc.reported_rate.idx = -1;
522 txrc.max_rate_idx = tx->sdata->max_ratectrl_rateidx; 522 txrc.max_rate_idx = tx->sdata->max_ratectrl_rateidx;
523 txrc.ap = tx->sdata->vif.type == NL80211_IFTYPE_AP;
523 524
524 /* set up RTS protection if desired */ 525 /* set up RTS protection if desired */
525 if (len > tx->local->hw.wiphy->rts_threshold) { 526 if (len > tx->local->hw.wiphy->rts_threshold) {
@@ -2060,6 +2061,7 @@ struct sk_buff *ieee80211_beacon_get_tim(struct ieee80211_hw *hw,
2060 struct beacon_data *beacon; 2061 struct beacon_data *beacon;
2061 struct ieee80211_supported_band *sband; 2062 struct ieee80211_supported_band *sband;
2062 enum ieee80211_band band = local->hw.conf.channel->band; 2063 enum ieee80211_band band = local->hw.conf.channel->band;
2064 struct ieee80211_tx_rate_control txrc;
2063 2065
2064 sband = local->hw.wiphy->bands[band]; 2066 sband = local->hw.wiphy->bands[band];
2065 2067
@@ -2167,21 +2169,21 @@ struct sk_buff *ieee80211_beacon_get_tim(struct ieee80211_hw *hw,
2167 info = IEEE80211_SKB_CB(skb); 2169 info = IEEE80211_SKB_CB(skb);
2168 2170
2169 info->flags |= IEEE80211_TX_INTFL_DONT_ENCRYPT; 2171 info->flags |= IEEE80211_TX_INTFL_DONT_ENCRYPT;
2172 info->flags |= IEEE80211_TX_CTL_NO_ACK;
2170 info->band = band; 2173 info->band = band;
2171 /* 2174
2172 * XXX: For now, always use the lowest rate 2175 memset(&txrc, 0, sizeof(txrc));
2173 */ 2176 txrc.hw = hw;
2174 info->control.rates[0].idx = 0; 2177 txrc.sband = sband;
2175 info->control.rates[0].count = 1; 2178 txrc.bss_conf = &sdata->vif.bss_conf;
2176 info->control.rates[1].idx = -1; 2179 txrc.skb = skb;
2177 info->control.rates[2].idx = -1; 2180 txrc.reported_rate.idx = -1;
2178 info->control.rates[3].idx = -1; 2181 txrc.max_rate_idx = sdata->max_ratectrl_rateidx;
2179 info->control.rates[4].idx = -1; 2182 txrc.ap = true;
2180 BUILD_BUG_ON(IEEE80211_TX_MAX_RATES != 5); 2183 rate_control_get_rate(sdata, NULL, &txrc);
2181 2184
2182 info->control.vif = vif; 2185 info->control.vif = vif;
2183 2186
2184 info->flags |= IEEE80211_TX_CTL_NO_ACK;
2185 info->flags |= IEEE80211_TX_CTL_CLEAR_PS_FILT; 2187 info->flags |= IEEE80211_TX_CTL_CLEAR_PS_FILT;
2186 info->flags |= IEEE80211_TX_CTL_ASSIGN_SEQ; 2188 info->flags |= IEEE80211_TX_CTL_ASSIGN_SEQ;
2187 out: 2189 out: