mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-28 17:41:50 +00:00
Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
This commit is contained in:
commit
08e22e193a
4 changed files with 14 additions and 3 deletions
|
@ -249,7 +249,7 @@ ieee80211_new_chanctx(struct ieee80211_local *local,
|
||||||
|
|
||||||
if (!local->use_chanctx) {
|
if (!local->use_chanctx) {
|
||||||
local->_oper_chandef = *chandef;
|
local->_oper_chandef = *chandef;
|
||||||
ieee80211_hw_config(local, 0);
|
ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_CHANNEL);
|
||||||
} else {
|
} else {
|
||||||
err = drv_add_chanctx(local, ctx);
|
err = drv_add_chanctx(local, ctx);
|
||||||
if (err) {
|
if (err) {
|
||||||
|
@ -286,7 +286,7 @@ static void ieee80211_free_chanctx(struct ieee80211_local *local,
|
||||||
check_single_channel = true;
|
check_single_channel = true;
|
||||||
local->hw.conf.radar_enabled = false;
|
local->hw.conf.radar_enabled = false;
|
||||||
|
|
||||||
ieee80211_hw_config(local, 0);
|
ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_CHANNEL);
|
||||||
} else {
|
} else {
|
||||||
drv_remove_chanctx(local, ctx);
|
drv_remove_chanctx(local, ctx);
|
||||||
}
|
}
|
||||||
|
@ -492,6 +492,13 @@ void ieee80211_recalc_smps_chanctx(struct ieee80211_local *local,
|
||||||
rx_chains_static = max(rx_chains_static, needed_static);
|
rx_chains_static = max(rx_chains_static, needed_static);
|
||||||
rx_chains_dynamic = max(rx_chains_dynamic, needed_dynamic);
|
rx_chains_dynamic = max(rx_chains_dynamic, needed_dynamic);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Disable SMPS for the monitor interface */
|
||||||
|
sdata = rcu_dereference(local->monitor_sdata);
|
||||||
|
if (sdata &&
|
||||||
|
rcu_access_pointer(sdata->vif.chanctx_conf) == &chanctx->conf)
|
||||||
|
rx_chains_dynamic = rx_chains_static = local->rx_chains;
|
||||||
|
|
||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
|
|
||||||
if (!local->use_chanctx) {
|
if (!local->use_chanctx) {
|
||||||
|
|
|
@ -148,6 +148,8 @@ static u32 ieee80211_hw_conf_chan(struct ieee80211_local *local)
|
||||||
list_for_each_entry_rcu(sdata, &local->interfaces, list) {
|
list_for_each_entry_rcu(sdata, &local->interfaces, list) {
|
||||||
if (!rcu_access_pointer(sdata->vif.chanctx_conf))
|
if (!rcu_access_pointer(sdata->vif.chanctx_conf))
|
||||||
continue;
|
continue;
|
||||||
|
if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
|
||||||
|
continue;
|
||||||
power = min(power, sdata->vif.bss_conf.txpower);
|
power = min(power, sdata->vif.bss_conf.txpower);
|
||||||
}
|
}
|
||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
|
@ -199,7 +201,7 @@ void ieee80211_bss_info_change_notify(struct ieee80211_sub_if_data *sdata,
|
||||||
{
|
{
|
||||||
struct ieee80211_local *local = sdata->local;
|
struct ieee80211_local *local = sdata->local;
|
||||||
|
|
||||||
if (!changed)
|
if (!changed || sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
drv_bss_info_changed(local, sdata, &sdata->vif.bss_conf, changed);
|
drv_bss_info_changed(local, sdata, &sdata->vif.bss_conf, changed);
|
||||||
|
|
|
@ -355,6 +355,7 @@ void ieee80211_sw_roc_work(struct work_struct *work)
|
||||||
struct ieee80211_roc_work *dep;
|
struct ieee80211_roc_work *dep;
|
||||||
|
|
||||||
/* start this ROC */
|
/* start this ROC */
|
||||||
|
ieee80211_offchannel_stop_vifs(local);
|
||||||
|
|
||||||
/* switch channel etc */
|
/* switch channel etc */
|
||||||
ieee80211_recalc_idle(local);
|
ieee80211_recalc_idle(local);
|
||||||
|
|
|
@ -618,6 +618,7 @@ void ieee80211_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb)
|
||||||
sta, true, acked);
|
sta, true, acked);
|
||||||
|
|
||||||
if ((local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) &&
|
if ((local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) &&
|
||||||
|
(ieee80211_is_data(hdr->frame_control)) &&
|
||||||
(rates_idx != -1))
|
(rates_idx != -1))
|
||||||
sta->last_tx_rate = info->status.rates[rates_idx];
|
sta->last_tx_rate = info->status.rates[rates_idx];
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue