diff options
author | Eliad Peller <eliad@wizery.com> | 2011-10-23 08:21:55 +0200 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-11-08 14:58:46 +0100 |
commit | c31e494689128203ef04fb946f05a72d33eee948 (patch) | |
tree | 02b8b3d85fede58efa5432aa4a59d85768a73c4b | |
parent | wl12xx: use p2p rate index when the skb has the NO_CCK flag (diff) | |
download | linux-c31e494689128203ef04fb946f05a72d33eee948.tar.xz linux-c31e494689128203ef04fb946f05a72d33eee948.zip |
wl12xx: handle idle changes per-interface
Idle changes are currently handled per hardware.
However, some operations should be done only per-interface.
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
-rw-r--r-- | drivers/net/wireless/wl12xx/main.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c index aa1c0f3ebeeb..dbb088eadf71 100644 --- a/drivers/net/wireless/wl12xx/main.c +++ b/drivers/net/wireless/wl12xx/main.c @@ -2540,13 +2540,6 @@ static int wl12xx_config_vif(struct wl1271 *wl, struct wl12xx_vif *wlvif, } } - if (changed & IEEE80211_CONF_CHANGE_IDLE && !is_ap) { - ret = wl1271_sta_handle_idle(wl, wlvif, - conf->flags & IEEE80211_CONF_IDLE); - if (ret < 0) - wl1271_warning("idle mode change failed %d", ret); - } - /* * if mac80211 changes the PSM mode, make sure the mode is not * incorrectly changed after the pspoll failure active window. @@ -3617,6 +3610,12 @@ static void wl1271_bss_info_changed_sta(struct wl1271 *wl, do_join = true; } + if (changed & BSS_CHANGED_IDLE) { + ret = wl1271_sta_handle_idle(wl, wlvif, bss_conf->idle); + if (ret < 0) + wl1271_warning("idle mode change failed %d", ret); + } + if ((changed & BSS_CHANGED_CQM)) { bool enable = false; if (bss_conf->cqm_rssi_thold) |