]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
wl12xx: don't handle change_channel while associated
authorEliad Peller <eliad@wizery.com>
Sun, 4 Mar 2012 08:55:51 +0000 (10:55 +0200)
committerLuciano Coelho <coelho@ti.com>
Mon, 5 Mar 2012 13:45:25 +0000 (15:45 +0200)
Currently, CHANGE_CHANNEL indication while
associated is considered as roaming attempt.

However, with the new auth/assoc redesign,
we no longer have to handle this case,
so remove it.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/wl12xx/main.c

index 65f91d7bad31b2d28f5137d0dac87545e848c17a..85bbe7f4f5172dc01b07b797a8e4695e3cf065dd 100644 (file)
@@ -2515,35 +2515,22 @@ static int wl12xx_config_vif(struct wl1271 *wl, struct wl12xx_vif *wlvif,
                                wl1271_warning("rate policy for channel "
                                               "failed %d", ret);
 
-                       if (test_bit(WLVIF_FLAG_STA_ASSOCIATED,
-                                    &wlvif->flags)) {
-                               if (wl12xx_dev_role_started(wlvif)) {
-                                       /* roaming */
-                                       ret = wl12xx_croc(wl,
-                                                         wlvif->dev_role_id);
-                                       if (ret < 0)
-                                               return ret;
-                               }
-                               ret = wl1271_join(wl, wlvif, false);
+                       /*
+                        * change the ROC channel. do it only if we are
+                        * not idle. otherwise, CROC will be called
+                        * anyway.
+                        */
+                       if (!test_bit(WLVIF_FLAG_STA_ASSOCIATED,
+                                     &wlvif->flags) &&
+                           wl12xx_dev_role_started(wlvif) &&
+                           !(conf->flags & IEEE80211_CONF_IDLE)) {
+                               ret = wl12xx_stop_dev(wl, wlvif);
                                if (ret < 0)
-                                       wl1271_warning("cmd join on channel "
-                                                      "failed %d", ret);
-                       } else {
-                               /*
-                                * change the ROC channel. do it only if we are
-                                * not idle. otherwise, CROC will be called
-                                * anyway.
-                                */
-                               if (wl12xx_dev_role_started(wlvif) &&
-                                   !(conf->flags & IEEE80211_CONF_IDLE)) {
-                                       ret = wl12xx_stop_dev(wl, wlvif);
-                                       if (ret < 0)
-                                               return ret;
+                                       return ret;
 
-                                       ret = wl12xx_start_dev(wl, wlvif);
-                                       if (ret < 0)
-                                               return ret;
-                               }
+                               ret = wl12xx_start_dev(wl, wlvif);
+                               if (ret < 0)
+                                       return ret;
                        }
                }
        }