- ret = wl1251_acx_wake_up_conditions(wl,
- WAKE_UP_EVENT_DTIM_BITMAP,
- wl->listen_int);
- if (ret < 0)
- return ret;
+ if (wl->long_doze_mode != wl->long_doze_mode_set) {
+ wl1251_acx_wake_up_conditions(wl, wl->long_doze_mode
+ ? WAKE_UP_EVENT_DTIM_BITMAP
+ : WAKE_UP_EVENT_BEACON_BITMAP,
+ wl->listen_int);
+ wl->long_doze_mode_set = wl->long_doze_mode;
+ }