diff options
author | Eliad Peller <eliad@wizery.com> | 2011-10-10 04:13:16 -0400 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-10-11 08:29:56 -0400 |
commit | f750c82045d8f5d0d6d59e517eb485ffbbe014b2 (patch) | |
tree | ad2a61ad1e0b62a5d5edc7c2718896d7d787bfd3 | |
parent | e5a359f873f50cc123d5ca97637caa30fa095bb9 (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.c | 6 |
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++; |
2197 | out: | 2201 | out: |
2202 | wl1271_ps_elp_sleep(wl); | ||
2203 | out_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); |