aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2008-10-10 19:51:51 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-10-31 19:00:15 -0400
commitbda3933a8aceedd03e0dd410844bd310033ca756 (patch)
treef4d2c70a6338e500b6db93b073801181280b1840 /net/mac80211/tx.c
parent9124b07740c51cbc6e358dd0c4abc6ee8ded084d (diff)
mac80211: move bss_conf into vif
Move bss_conf into the vif struct so that drivers can access it during ->tx without having to store it in the private data or similar. No driver updates because this is only for when they want to start using it. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r--net/mac80211/tx.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index dd440a07634e..6f3e4be97631 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -116,7 +116,7 @@ static __le16 ieee80211_duration(struct ieee80211_tx_data *tx, int group_addr,
116 if (r->bitrate > txrate->bitrate) 116 if (r->bitrate > txrate->bitrate)
117 break; 117 break;
118 118
119 if (tx->sdata->bss_conf.basic_rates & BIT(i)) 119 if (tx->sdata->vif.bss_conf.basic_rates & BIT(i))
120 rate = r->bitrate; 120 rate = r->bitrate;
121 121
122 switch (sband->band) { 122 switch (sband->band) {
@@ -150,7 +150,7 @@ static __le16 ieee80211_duration(struct ieee80211_tx_data *tx, int group_addr,
150 * to closest integer */ 150 * to closest integer */
151 151
152 dur = ieee80211_frame_duration(local, 10, rate, erp, 152 dur = ieee80211_frame_duration(local, 10, rate, erp,
153 tx->sdata->bss_conf.use_short_preamble); 153 tx->sdata->vif.bss_conf.use_short_preamble);
154 154
155 if (next_frag_len) { 155 if (next_frag_len) {
156 /* Frame is fragmented: duration increases with time needed to 156 /* Frame is fragmented: duration increases with time needed to
@@ -159,7 +159,7 @@ static __le16 ieee80211_duration(struct ieee80211_tx_data *tx, int group_addr,
159 /* next fragment */ 159 /* next fragment */
160 dur += ieee80211_frame_duration(local, next_frag_len, 160 dur += ieee80211_frame_duration(local, next_frag_len,
161 txrate->bitrate, erp, 161 txrate->bitrate, erp,
162 tx->sdata->bss_conf.use_short_preamble); 162 tx->sdata->vif.bss_conf.use_short_preamble);
163 } 163 }
164 164
165 return cpu_to_le16(dur); 165 return cpu_to_le16(dur);
@@ -463,7 +463,7 @@ ieee80211_tx_h_rate_ctrl(struct ieee80211_tx_data *tx)
463 } else 463 } else
464 info->control.retries[0].rate_idx = -1; 464 info->control.retries[0].rate_idx = -1;
465 465
466 if (tx->sdata->bss_conf.use_cts_prot && 466 if (tx->sdata->vif.bss_conf.use_cts_prot &&
467 (tx->flags & IEEE80211_TX_FRAGMENTED) && (rsel.nonerp_idx >= 0)) { 467 (tx->flags & IEEE80211_TX_FRAGMENTED) && (rsel.nonerp_idx >= 0)) {
468 tx->last_frag_rate_idx = tx->rate_idx; 468 tx->last_frag_rate_idx = tx->rate_idx;
469 if (rsel.probe_idx >= 0) 469 if (rsel.probe_idx >= 0)
@@ -529,7 +529,7 @@ ieee80211_tx_h_misc(struct ieee80211_tx_data *tx)
529 if ((tx->sdata->flags & IEEE80211_SDATA_OPERATING_GMODE) && 529 if ((tx->sdata->flags & IEEE80211_SDATA_OPERATING_GMODE) &&
530 (sband->bitrates[tx->rate_idx].flags & IEEE80211_RATE_ERP_G) && 530 (sband->bitrates[tx->rate_idx].flags & IEEE80211_RATE_ERP_G) &&
531 (tx->flags & IEEE80211_TX_UNICAST) && 531 (tx->flags & IEEE80211_TX_UNICAST) &&
532 tx->sdata->bss_conf.use_cts_prot && 532 tx->sdata->vif.bss_conf.use_cts_prot &&
533 !(info->flags & IEEE80211_TX_CTL_USE_RTS_CTS)) 533 !(info->flags & IEEE80211_TX_CTL_USE_RTS_CTS))
534 info->flags |= IEEE80211_TX_CTL_USE_CTS_PROTECT; 534 info->flags |= IEEE80211_TX_CTL_USE_CTS_PROTECT;
535 535
@@ -538,7 +538,7 @@ ieee80211_tx_h_misc(struct ieee80211_tx_data *tx)
538 * available on the network at the current point in time. */ 538 * available on the network at the current point in time. */
539 if (ieee80211_is_data(hdr->frame_control) && 539 if (ieee80211_is_data(hdr->frame_control) &&
540 (sband->bitrates[tx->rate_idx].flags & IEEE80211_RATE_SHORT_PREAMBLE) && 540 (sband->bitrates[tx->rate_idx].flags & IEEE80211_RATE_SHORT_PREAMBLE) &&
541 tx->sdata->bss_conf.use_short_preamble && 541 tx->sdata->vif.bss_conf.use_short_preamble &&
542 (!tx->sta || test_sta_flags(tx->sta, WLAN_STA_SHORT_PREAMBLE))) { 542 (!tx->sta || test_sta_flags(tx->sta, WLAN_STA_SHORT_PREAMBLE))) {
543 info->flags |= IEEE80211_TX_CTL_SHORT_PREAMBLE; 543 info->flags |= IEEE80211_TX_CTL_SHORT_PREAMBLE;
544 } 544 }
@@ -558,7 +558,7 @@ ieee80211_tx_h_misc(struct ieee80211_tx_data *tx)
558 for (idx = 0; idx < sband->n_bitrates; idx++) { 558 for (idx = 0; idx < sband->n_bitrates; idx++) {
559 if (sband->bitrates[idx].bitrate > rate->bitrate) 559 if (sband->bitrates[idx].bitrate > rate->bitrate)
560 continue; 560 continue;
561 if (tx->sdata->bss_conf.basic_rates & BIT(idx) && 561 if (tx->sdata->vif.bss_conf.basic_rates & BIT(idx) &&
562 (baserate < 0 || 562 (baserate < 0 ||
563 (sband->bitrates[baserate].bitrate 563 (sband->bitrates[baserate].bitrate
564 < sband->bitrates[idx].bitrate))) 564 < sband->bitrates[idx].bitrate)))
@@ -1977,7 +1977,7 @@ struct sk_buff *ieee80211_beacon_get(struct ieee80211_hw *hw,
1977 info->flags |= IEEE80211_TX_CTL_NO_ACK; 1977 info->flags |= IEEE80211_TX_CTL_NO_ACK;
1978 info->flags |= IEEE80211_TX_CTL_CLEAR_PS_FILT; 1978 info->flags |= IEEE80211_TX_CTL_CLEAR_PS_FILT;
1979 info->flags |= IEEE80211_TX_CTL_ASSIGN_SEQ; 1979 info->flags |= IEEE80211_TX_CTL_ASSIGN_SEQ;
1980 if (sdata->bss_conf.use_short_preamble && 1980 if (sdata->vif.bss_conf.use_short_preamble &&
1981 sband->bitrates[rsel.rate_idx].flags & IEEE80211_RATE_SHORT_PREAMBLE) 1981 sband->bitrates[rsel.rate_idx].flags & IEEE80211_RATE_SHORT_PREAMBLE)
1982 info->flags |= IEEE80211_TX_CTL_SHORT_PREAMBLE; 1982 info->flags |= IEEE80211_TX_CTL_SHORT_PREAMBLE;
1983 1983