diff options
author | Johannes Berg <johannes.berg@intel.com> | 2014-11-19 00:10:42 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2014-11-19 19:15:50 +0100 |
commit | f815e2b3c0126c26911cac72b837f03a31c0c2ed (patch) | |
tree | a0ffb718bd301afbbee9d106f87e7b886dbc52f0 /net/mac80211/rate.c | |
parent | nl80211: Broadcast CMD_NEW_INTERFACE and CMD_DEL_INTERFACE (diff) | |
download | linux-f815e2b3c0126c26911cac72b837f03a31c0c2ed.tar.xz linux-f815e2b3c0126c26911cac72b837f03a31c0c2ed.zip |
mac80211: notify drivers on sta rate table changes
This allows drivers with a firmware or chip-based rate lookup table to
use the most recent default rate selection without having to get it from
per-packet data or explicit ieee80211_get_tx_rate calls
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/rate.c')
-rw-r--r-- | net/mac80211/rate.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c index f6fea67fcc5b..08ab7d6d1517 100644 --- a/net/mac80211/rate.c +++ b/net/mac80211/rate.c @@ -696,6 +696,7 @@ int rate_control_set_rates(struct ieee80211_hw *hw, struct ieee80211_sta *pubsta, struct ieee80211_sta_rates *rates) { + struct sta_info *sta = container_of(pubsta, struct sta_info, sta); struct ieee80211_sta_rates *old; /* @@ -709,6 +710,8 @@ int rate_control_set_rates(struct ieee80211_hw *hw, if (old) kfree_rcu(old, rcu_head); + drv_sta_rate_tbl_update(hw_to_local(hw), sta->sdata, pubsta); + return 0; } EXPORT_SYMBOL(rate_control_set_rates); |