|
@@ -102,38 +102,6 @@ int wl1251_ps_elp_wakeup(struct wl1251 *wl)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static int wl1251_ps_set_elp(struct wl1251 *wl, bool enable)
|
|
|
-{
|
|
|
- int ret;
|
|
|
-
|
|
|
- if (enable) {
|
|
|
- wl1251_debug(DEBUG_PSM, "sleep auth psm/elp");
|
|
|
-
|
|
|
- ret = wl1251_acx_sleep_auth(wl, WL1251_PSM_ELP);
|
|
|
- if (ret < 0)
|
|
|
- return ret;
|
|
|
-
|
|
|
- wl1251_ps_elp_sleep(wl);
|
|
|
- } else {
|
|
|
- wl1251_debug(DEBUG_PSM, "sleep auth cam");
|
|
|
-
|
|
|
- /*
|
|
|
- * When the target is in ELP, we can only
|
|
|
- * access the ELP control register. Thus,
|
|
|
- * we have to wake the target up before
|
|
|
- * changing the power authorization.
|
|
|
- */
|
|
|
-
|
|
|
- wl1251_ps_elp_wakeup(wl);
|
|
|
-
|
|
|
- ret = wl1251_acx_sleep_auth(wl, WL1251_PSM_CAM);
|
|
|
- if (ret < 0)
|
|
|
- return ret;
|
|
|
- }
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_cmd_ps_mode mode)
|
|
|
{
|
|
|
int ret;
|
|
@@ -162,7 +130,7 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_cmd_ps_mode mode)
|
|
|
if (ret < 0)
|
|
|
return ret;
|
|
|
|
|
|
- ret = wl1251_ps_set_elp(wl, true);
|
|
|
+ ret = wl1251_acx_sleep_auth(wl, WL1251_PSM_ELP);
|
|
|
if (ret < 0)
|
|
|
return ret;
|
|
|
|
|
@@ -171,7 +139,8 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_cmd_ps_mode mode)
|
|
|
case STATION_ACTIVE_MODE:
|
|
|
default:
|
|
|
wl1251_debug(DEBUG_PSM, "leaving psm");
|
|
|
- ret = wl1251_ps_set_elp(wl, false);
|
|
|
+
|
|
|
+ ret = wl1251_acx_sleep_auth(wl, WL1251_PSM_CAM);
|
|
|
if (ret < 0)
|
|
|
return ret;
|
|
|
|