case STATION_POWER_SAVE_MODE:
wl1251_debug(DEBUG_PSM, "entering psm");
- /* enable beacon filtering */
- ret = wl1251_acx_beacon_filter_opt(wl, true);
- 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;
+#if 0 /* problems seen on one router */
ret = wl1251_acx_bet_enable(wl, WL1251_ACX_BET_ENABLE,
WL1251_DEFAULT_BET_CONSECUTIVE);
if (ret < 0)
return ret;
+#endif
ret = wl1251_cmd_ps_mode(wl, CHIP_POWER_SAVE_MODE);
if (ret < 0)
if (ret < 0)
return ret;
+#if 0
/* disable BET */
ret = wl1251_acx_bet_enable(wl, WL1251_ACX_BET_DISABLE,
WL1251_DEFAULT_BET_CONSECUTIVE);
if (ret < 0)
return ret;
+#endif
/* disable beacon filtering */
ret = wl1251_acx_beacon_filter_opt(wl, false);
break;
}
+ if (mode != wl->station_mode)
+ wl->ps_transitioning = true;
wl->station_mode = mode;
+ wl->ps_change_jiffies = jiffies;
return ret;
}