aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2012-03-04 03:55:51 -0500
committerLuciano Coelho <coelho@ti.com>2012-03-05 08:45:25 -0500
commit121af04995d29e3287b849a768789c668d39dce3 (patch)
tree7a27671351ac4f52d8623213f561f80489d22856 /drivers/net/wireless/wl12xx
parent249e9698899643a799951a6e772facae346f0941 (diff)
wl12xx: don't handle change_channel while associated
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>
Diffstat (limited to 'drivers/net/wireless/wl12xx')
-rw-r--r--drivers/net/wireless/wl12xx/main.c41
1 files changed, 14 insertions, 27 deletions
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
index 65f91d7bad31..85bbe7f4f517 100644
--- a/drivers/net/wireless/wl12xx/main.c
+++ b/drivers/net/wireless/wl12xx/main.c
@@ -2515,35 +2515,22 @@ static int wl12xx_config_vif(struct wl1271 *wl, struct wl12xx_vif *wlvif,
2515 wl1271_warning("rate policy for channel " 2515 wl1271_warning("rate policy for channel "
2516 "failed %d", ret); 2516 "failed %d", ret);
2517 2517
2518 if (test_bit(WLVIF_FLAG_STA_ASSOCIATED, 2518 /*
2519 &wlvif->flags)) { 2519 * change the ROC channel. do it only if we are
2520 if (wl12xx_dev_role_started(wlvif)) { 2520 * not idle. otherwise, CROC will be called
2521 /* roaming */ 2521 * anyway.
2522 ret = wl12xx_croc(wl, 2522 */
2523 wlvif->dev_role_id); 2523 if (!test_bit(WLVIF_FLAG_STA_ASSOCIATED,
2524 if (ret < 0) 2524 &wlvif->flags) &&
2525 return ret; 2525 wl12xx_dev_role_started(wlvif) &&
2526 } 2526 !(conf->flags & IEEE80211_CONF_IDLE)) {
2527 ret = wl1271_join(wl, wlvif, false); 2527 ret = wl12xx_stop_dev(wl, wlvif);
2528 if (ret < 0) 2528 if (ret < 0)
2529 wl1271_warning("cmd join on channel " 2529 return ret;
2530 "failed %d", ret);
2531 } else {
2532 /*
2533 * change the ROC channel. do it only if we are
2534 * not idle. otherwise, CROC will be called
2535 * anyway.
2536 */
2537 if (wl12xx_dev_role_started(wlvif) &&
2538 !(conf->flags & IEEE80211_CONF_IDLE)) {
2539 ret = wl12xx_stop_dev(wl, wlvif);
2540 if (ret < 0)
2541 return ret;
2542 2530
2543 ret = wl12xx_start_dev(wl, wlvif); 2531 ret = wl12xx_start_dev(wl, wlvif);
2544 if (ret < 0) 2532 if (ret < 0)
2545 return ret; 2533 return ret;
2546 }
2547 } 2534 }
2548 } 2535 }
2549 } 2536 }