From: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Date: Fri, 11 Dec 2009 13:41:10 +0000 (+0200)
Subject: wl1271: Prevent performing "join" before association
X-Git-Tag: firefly_0821_release~9833^2~3055^2~49^2~424
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8f648c00039a42e67a9dff034c77d41502dab1f3;p=firefly-linux-kernel-4.4.55.git

wl1271: Prevent performing "join" before association

There is a minor bug in the code causing a "join" to be performed before
there is an intention to associate. Fix this.

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 7e6b500dfb6f..4a997381a8d0 100644
--- a/drivers/net/wireless/wl12xx/wl1271_main.c
+++ b/drivers/net/wireless/wl12xx/wl1271_main.c
@@ -1223,7 +1223,7 @@ static int wl1271_op_config(struct ieee80211_hw *hw, u32 changed)
 		if (conf->flags & IEEE80211_CONF_IDLE &&
 		    test_bit(WL1271_FLAG_JOINED, &wl->flags))
 			wl1271_unjoin_channel(wl);
-		else
+		else if (!(conf->flags & IEEE80211_CONF_IDLE))
 			wl1271_join_channel(wl, channel);
 
 		if (conf->flags & IEEE80211_CONF_IDLE) {