wl1271: Use slow rates for association messages

While not associated, default the data rates to 1 and 2mbps, so that only
those rates will be used for association related message transfer. Once
associated, configure the full rate-set supported by the AP.

Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/drivers/net/wireless/wl12xx/wl1271_main.c b/drivers/net/wireless/wl12xx/wl1271_main.c
index 5a6e4d4..272a8fa 100644
--- a/drivers/net/wireless/wl12xx/wl1271_main.c
+++ b/drivers/net/wireless/wl12xx/wl1271_main.c
@@ -1180,6 +1180,11 @@
 			wl1271_unjoin_channel(wl);
 		else
 			wl1271_join_channel(wl, channel);
+
+		if (conf->flags & IEEE80211_CONF_IDLE) {
+			wl->basic_rate_set = CONF_TX_RATE_MASK_BASIC;
+			wl1271_acx_rate_policies(wl, CONF_TX_RATE_MASK_BASIC);
+		}
 	}
 
 	/* if the channel changes while joined, join again */
@@ -1568,7 +1573,6 @@
 			}
 		} else {
 			/* use defaults when not associated */
-			wl->basic_rate_set = WL1271_DEFAULT_BASIC_RATE_SET;
 			wl->aid = 0;
 		}
 
@@ -1897,7 +1901,7 @@
 	wl->psm_entry_retry = 0;
 	wl->tx_queue_stopped = false;
 	wl->power_level = WL1271_DEFAULT_POWER_LEVEL;
-	wl->basic_rate_set = WL1271_DEFAULT_BASIC_RATE_SET;
+	wl->basic_rate_set = CONF_TX_RATE_MASK_BASIC;
 	wl->band = IEEE80211_BAND_2GHZ;
 	wl->vif = NULL;
 	wl->joined = false;