wlcore: configure the remote rates with our own rates
authorEliad Peller <eliad@wizery.com>
Tue, 20 Nov 2012 11:20:11 +0000 (13:20 +0200)
committerLuciano Coelho <coelho@ti.com>
Tue, 27 Nov 2012 08:49:19 +0000 (10:49 +0200)
With the new connection flow, start_sta is called before
the remote rates where updated. Use our own supported rates
instead to make sure we don't disable any potential rate
(the rate policies will be updated later, but there is
currently no way to update the remote rates)

Signed-off-by: Eliad Peller <eliad@wizery.com>
Reviewed-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/ti/wlcore/cmd.c

index 1cf1225..04ba86d 100644 (file)
@@ -479,7 +479,12 @@ int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif)
        }
        cmd->sta.hlid = wlvif->sta.hlid;
        cmd->sta.session = wl12xx_get_new_session_id(wl, wlvif);
-       cmd->sta.remote_rates = cpu_to_le32(wlvif->rate_set);
+       /*
+        * We don't have the correct remote rates in this stage, and there
+        * is no way to update them later, so use our supported rates instead.
+        * The fw will take the configured rate policies into account anyway.
+        */
+       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",