mac80211: improve the rate control API
authorFelix Fietkau <nbd@openwrt.org>
Mon, 22 Apr 2013 14:14:41 +0000 (16:14 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 22 Apr 2013 14:16:41 +0000 (16:16 +0200)
commit0d528d85c519b755b6f4e1bafa3a39984370e1c1
tree5afbdbf16e1ae3d4bf698cf4031032cca220f4b0
parent5de17984898c5758fc6ebe08eccea9f4b6548914
mac80211: improve the rate control API

Allow rate control modules to pass a rate selection table to mac80211
and the driver. This allows drivers to fetch the most recent rate
selection from the sta pointer for already buffered frames. This allows
rate control to respond faster to sudden link changes and it is also a
step towards adding minstrel_ht support to drivers like iwlwifi.

When a driver sets IEEE80211_HW_SUPPORTS_RC_TABLE, mac80211 will not
fill info->control.rates with rates from the rate table (to preserve
explicit overrides by the rate control module). The driver then
explicitly calls ieee80211_get_tx_rates to merge overrides from
info->control.rates with defaults from the sta rate table.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/mac80211.h
net/mac80211/ieee80211_i.h
net/mac80211/rate.c
net/mac80211/tx.c