|
@@ -118,6 +118,13 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_cmd_ps_mode mode)
|
|
|
switch (mode) {
|
|
|
case STATION_POWER_SAVE_MODE:
|
|
|
wl1251_debug(DEBUG_PSM, "entering psm");
|
|
|
+
|
|
|
+ ret = wl1251_acx_wake_up_conditions(wl,
|
|
|
+ WAKE_UP_EVENT_DTIM_BITMAP,
|
|
|
+ wl->listen_int);
|
|
|
+ if (ret < 0)
|
|
|
+ return ret;
|
|
|
+
|
|
|
ret = wl1251_cmd_ps_mode(wl, STATION_POWER_SAVE_MODE);
|
|
|
if (ret < 0)
|
|
|
return ret;
|
|
@@ -135,6 +142,12 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_cmd_ps_mode mode)
|
|
|
if (ret < 0)
|
|
|
return ret;
|
|
|
|
|
|
+ ret = wl1251_acx_wake_up_conditions(wl,
|
|
|
+ WAKE_UP_EVENT_DTIM_BITMAP,
|
|
|
+ wl->listen_int);
|
|
|
+ if (ret < 0)
|
|
|
+ return ret;
|
|
|
+
|
|
|
ret = wl1251_cmd_ps_mode(wl, STATION_ACTIVE_MODE);
|
|
|
if (ret < 0)
|
|
|
return ret;
|