|
@@ -173,7 +173,7 @@ static u16 ieee80211_duration(struct ieee80211_txrx_data *tx, int group_addr,
|
|
|
* to closest integer */
|
|
|
|
|
|
dur = ieee80211_frame_duration(local, 10, rate, erp,
|
|
|
- tx->sdata->short_preamble);
|
|
|
+ tx->sdata->flags & IEEE80211_SDATA_SHORT_PREAMBLE);
|
|
|
|
|
|
if (next_frag_len) {
|
|
|
/* Frame is fragmented: duration increases with time needed to
|
|
@@ -181,8 +181,9 @@ static u16 ieee80211_duration(struct ieee80211_txrx_data *tx, int group_addr,
|
|
|
dur *= 2; /* ACK + SIFS */
|
|
|
/* next fragment */
|
|
|
dur += ieee80211_frame_duration(local, next_frag_len,
|
|
|
- txrate->rate, erp,
|
|
|
- tx->sdata->short_preamble);
|
|
|
+ txrate->rate, erp,
|
|
|
+ tx->sdata->flags &
|
|
|
+ IEEE80211_SDATA_SHORT_PREAMBLE);
|
|
|
}
|
|
|
|
|
|
return dur;
|
|
@@ -613,7 +614,7 @@ ieee80211_tx_h_rate_ctrl(struct ieee80211_txrx_data *tx)
|
|
|
if (!tx->u.tx.rate)
|
|
|
return TXRX_DROP;
|
|
|
if (tx->u.tx.mode->mode == MODE_IEEE80211G &&
|
|
|
- tx->sdata->use_protection &&
|
|
|
+ (tx->sdata->flags & IEEE80211_SDATA_USE_PROTECTION) &&
|
|
|
(tx->flags & IEEE80211_TXRXD_FRAGMENTED) && extra.nonerp) {
|
|
|
tx->u.tx.last_frag_rate = tx->u.tx.rate;
|
|
|
if (extra.probe)
|
|
@@ -670,7 +671,7 @@ ieee80211_tx_h_misc(struct ieee80211_txrx_data *tx)
|
|
|
if (mode->mode == MODE_IEEE80211G &&
|
|
|
(tx->u.tx.rate->flags & IEEE80211_RATE_ERP) &&
|
|
|
(tx->flags & IEEE80211_TXRXD_TXUNICAST) &&
|
|
|
- tx->sdata->use_protection &&
|
|
|
+ (tx->sdata->flags & IEEE80211_SDATA_USE_PROTECTION) &&
|
|
|
!(control->flags & IEEE80211_TXCTL_USE_RTS_CTS))
|
|
|
control->flags |= IEEE80211_TXCTL_USE_CTS_PROTECT;
|
|
|
|
|
@@ -679,7 +680,7 @@ ieee80211_tx_h_misc(struct ieee80211_txrx_data *tx)
|
|
|
* available on the network at the current point in time. */
|
|
|
if (((fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_DATA) &&
|
|
|
(tx->u.tx.rate->flags & IEEE80211_RATE_PREAMBLE2) &&
|
|
|
- tx->sdata->short_preamble &&
|
|
|
+ (tx->sdata->flags & IEEE80211_SDATA_SHORT_PREAMBLE) &&
|
|
|
(!tx->sta || (tx->sta->flags & WLAN_STA_SHORT_PREAMBLE))) {
|
|
|
tx->u.tx.control->tx_rate = tx->u.tx.rate->val2;
|
|
|
}
|
|
@@ -1777,8 +1778,9 @@ struct sk_buff *ieee80211_beacon_get(struct ieee80211_hw *hw, int if_id,
|
|
|
return NULL;
|
|
|
}
|
|
|
|
|
|
- control->tx_rate = (sdata->short_preamble &&
|
|
|
- (rate->flags & IEEE80211_RATE_PREAMBLE2)) ?
|
|
|
+ control->tx_rate =
|
|
|
+ ((sdata->flags & IEEE80211_SDATA_SHORT_PREAMBLE) &&
|
|
|
+ (rate->flags & IEEE80211_RATE_PREAMBLE2)) ?
|
|
|
rate->val2 : rate->val;
|
|
|
control->antenna_sel_tx = local->hw.conf.antenna_sel_tx;
|
|
|
control->power_level = local->hw.conf.power_level;
|