aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2011-10-10 04:13:16 -0400
committerLuciano Coelho <coelho@ti.com>2011-10-11 08:29:56 -0400
commitf750c82045d8f5d0d6d59e517eb485ffbbe014b2 (patch)
treead2a61ad1e0b62a5d5edc7c2718896d7d787bfd3
parente5a359f873f50cc123d5ca97637caa30fa095bb9 (diff)
wl12xx: add elp wakeup/sleep calls to add_interface
add_interface might be called while the chip is in elp. add elp_wakeup/sleep calls to handle it. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
-rw-r--r--drivers/net/wireless/wl12xx/main.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
index cd2722562e60..6e6ac63fb8cd 100644
--- a/drivers/net/wireless/wl12xx/main.c
+++ b/drivers/net/wireless/wl12xx/main.c
@@ -2115,6 +2115,10 @@ static int wl1271_op_add_interface(struct ieee80211_hw *hw,
2115 ieee80211_vif_type_p2p(vif), vif->addr); 2115 ieee80211_vif_type_p2p(vif), vif->addr);
2116 2116
2117 mutex_lock(&wl->mutex); 2117 mutex_lock(&wl->mutex);
2118 ret = wl1271_ps_elp_wakeup(wl);
2119 if (ret < 0)
2120 goto out_unlock;
2121
2118 if (wl->vif) { 2122 if (wl->vif) {
2119 wl1271_debug(DEBUG_MAC80211, 2123 wl1271_debug(DEBUG_MAC80211,
2120 "multiple vifs are not supported yet"); 2124 "multiple vifs are not supported yet");
@@ -2195,6 +2199,8 @@ static int wl1271_op_add_interface(struct ieee80211_hw *hw,
2195 else 2199 else
2196 wl->sta_count++; 2200 wl->sta_count++;
2197out: 2201out:
2202 wl1271_ps_elp_sleep(wl);
2203out_unlock:
2198 mutex_unlock(&wl->mutex); 2204 mutex_unlock(&wl->mutex);
2199 2205
2200 mutex_lock(&wl_list_mutex); 2206 mutex_lock(&wl_list_mutex);