summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuciano Coelho <coelho@ti.com>2013-02-07 11:35:33 +0200
committerLuciano Coelho <coelho@ti.com>2013-02-08 10:20:16 +0200
commit9c3a8d99346040010a82ae8088b055f85cf8a2e9 (patch)
tree5a72dcfdf9a55bf6a85a26931739e1070315b2ab
parent1d6146659ef7ae10263d490a9554ff0bfc7f6ecd (diff)
downloadop-kernel-dev-9c3a8d99346040010a82ae8088b055f85cf8a2e9.zip
op-kernel-dev-9c3a8d99346040010a82ae8088b055f85cf8a2e9.tar.gz
wlcore: fix wrong remote rates when starting STA role
In wl18xx, we use a new ACX command in order to set the remote supported rates, once we know it (ie. after association). The wl12xx firmware doesn't support changing the rates after the STA is started, so we need to use all supported rates. Commit 530abe19 (wlcore: add ACX_PEER_CAP command) broke that by using wlvif->rate_set when starting the STA role. Signed-off-by: Luciano Coelho <coelho@ti.com>
-rw-r--r--drivers/net/wireless/ti/wlcore/cmd.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/wireless/ti/wlcore/cmd.c b/drivers/net/wireless/ti/wlcore/cmd.c
index 1201aca..6331f9e 100644
--- a/drivers/net/wireless/ti/wlcore/cmd.c
+++ b/drivers/net/wireless/ti/wlcore/cmd.c
@@ -510,10 +510,12 @@ int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif)
cmd->sta.hlid = wlvif->sta.hlid;
cmd->sta.session = wl->session_ids[wlvif->sta.hlid];
/*
- * We don't have the correct remote rates in this stage. the rates
- * will be reconfigured later, after authorization.
+ * We don't have the correct remote rates in this stage. The
+ * rates will be reconfigured later, after association, if the
+ * firmware supports ACX_PEER_CAP. Otherwise, there's nothing
+ * we can do, so use all supported_rates here.
*/
- cmd->sta.remote_rates = cpu_to_le32(wlvif->rate_set);
+ cmd->sta.remote_rates = cpu_to_le32(supported_rates);
wl1271_debug(DEBUG_CMD, "role start: roleid=%d, hlid=%d, session=%d "
"basic_rate_set: 0x%x, remote_rates: 0x%x",
OpenPOWER on IntegriCloud