summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/tx.c
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2011-10-10 10:13:15 +0200
committerLuciano Coelho <coelho@ti.com>2011-10-11 14:28:02 +0200
commite5a359f873f50cc123d5ca97637caa30fa095bb9 (patch)
tree68eb06e69870e7637667042aa25a3b745f59bd4f /drivers/net/wireless/wl12xx/tx.c
parentwl12xx: call stop() on recovery (diff)
downloadlinux-e5a359f873f50cc123d5ca97637caa30fa095bb9.tar.xz
linux-e5a359f873f50cc123d5ca97637caa30fa095bb9.zip
wl12xx: use dynamic rate policies
allocate the rate policies dynamically, instead of using hardcoded indexes. this is needed for proper multi-role configuration. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/tx.c')
-rw-r--r--drivers/net/wireless/wl12xx/tx.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/wireless/wl12xx/tx.c b/drivers/net/wireless/wl12xx/tx.c
index 185a65d971ff..69ac03f5d54b 100644
--- a/drivers/net/wireless/wl12xx/tx.c
+++ b/drivers/net/wireless/wl12xx/tx.c
@@ -339,16 +339,16 @@ static void wl1271_tx_fill_hdr(struct wl1271 *wl, struct wl12xx_vif *wlvif,
send them with AP rate policies, otherwise use default
basic rates */
if (control->control.sta)
- rate_idx = ACX_TX_AP_FULL_RATE;
+ rate_idx = wlvif->sta.ap_rate_idx;
else
- rate_idx = ACX_TX_BASIC_RATE;
+ rate_idx = wlvif->sta.basic_rate_idx;
} else {
if (hlid == wlvif->ap.global_hlid)
- rate_idx = ACX_TX_AP_MODE_MGMT_RATE;
+ rate_idx = wlvif->ap.mgmt_rate_idx;
else if (hlid == wlvif->ap.bcast_hlid)
- rate_idx = ACX_TX_AP_MODE_BCST_RATE;
+ rate_idx = wlvif->ap.bcast_rate_idx;
else
- rate_idx = ac;
+ rate_idx = wlvif->ap.ucast_rate_idx[ac];
}
tx_attr |= rate_idx << TX_HW_ATTR_OFST_RATE_POLICY;