Browse Source

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>
Eliad Peller 13 years ago
parent
commit
f750c82045
1 changed files with 6 additions and 0 deletions
  1. 6 0
      drivers/net/wireless/wl12xx/main.c

+ 6 - 0
drivers/net/wireless/wl12xx/main.c

@@ -2115,6 +2115,10 @@ static int wl1271_op_add_interface(struct ieee80211_hw *hw,
 		     ieee80211_vif_type_p2p(vif), vif->addr);
 
 	mutex_lock(&wl->mutex);
+	ret = wl1271_ps_elp_wakeup(wl);
+	if (ret < 0)
+		goto out_unlock;
+
 	if (wl->vif) {
 		wl1271_debug(DEBUG_MAC80211,
 			     "multiple vifs are not supported yet");
@@ -2195,6 +2199,8 @@ static int wl1271_op_add_interface(struct ieee80211_hw *hw,
 	else
 		wl->sta_count++;
 out:
+	wl1271_ps_elp_sleep(wl);
+out_unlock:
 	mutex_unlock(&wl->mutex);
 
 	mutex_lock(&wl_list_mutex);