diff options
author | Stanislaw Gruszka <sgruszka@redhat.com> | 2016-12-19 11:52:50 +0100 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2016-12-30 13:34:18 +0200 |
commit | 8f03a7c6e7f959edd22e35158fbb9a4087962fae (patch) | |
tree | 3ea658b2877543ab7ef849bb47b1aa57b41af98a /drivers/net/wireless/ralink/rt2x00/rt2x00mac.c | |
parent | a51b89698ccc93c7e274eb71377fae49c4593ab2 (diff) | |
download | talos-obmc-linux-8f03a7c6e7f959edd22e35158fbb9a4087962fae.tar.gz talos-obmc-linux-8f03a7c6e7f959edd22e35158fbb9a4087962fae.zip |
rt2800: set MAX_PSDU len according to remote STAs capabilities
MAX_LEN_CFG_MAX_PSDU specify maximum transmitted by HW AMPDU length
(0 - 8kB, 1 - 16kB, 2 - 32kB, 3 - 64kB). Set this option according to
remote stations capabilities (based on HT ampdu_factor). However limit
the value based our hardware TX capabilities as some chips can not send
more than 16kB (factor 1). Limit for all chips is currently 32kB
(factor 2), but perhaps for some chips this could be increased
to 64kB by setting drv_data->max_psdu to 3.
Since MAX_LEN_CFG_MAX_PSDU is global setting, on multi stations modes
(AP, IBSS, mesh) we limit according to less capable remote STA. We can
not set bigger value to speed up communication with some stations and
do not break communication with slow stations.
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/ralink/rt2x00/rt2x00mac.c')
-rw-r--r-- | drivers/net/wireless/ralink/rt2x00/rt2x00mac.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c b/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c index 13da95a24cf7..d4b50fb948ee 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c @@ -539,9 +539,8 @@ int rt2x00mac_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) { struct rt2x00_dev *rt2x00dev = hw->priv; - struct rt2x00_sta *sta_priv = sta_to_rt2x00_sta(sta); - return rt2x00dev->ops->lib->sta_remove(rt2x00dev, sta_priv->wcid); + return rt2x00dev->ops->lib->sta_remove(rt2x00dev, sta); } EXPORT_SYMBOL_GPL(rt2x00mac_sta_remove); |