diff --git a/[refs] b/[refs] index ba083235f4f7..392cce07fa8d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 72b57344a2a1f98c6838c2268fdc5ed5fae54cd8 +refs/heads/master: 33d51facad8360cb9c55fd696431e2a477f16cc1 diff --git a/trunk/drivers/net/wireless/wl12xx/wl1251_acx.h b/trunk/drivers/net/wireless/wl12xx/wl1251_acx.h index 44a4b0494592..652371432cd8 100644 --- a/trunk/drivers/net/wireless/wl12xx/wl1251_acx.h +++ b/trunk/drivers/net/wireless/wl12xx/wl1251_acx.h @@ -463,8 +463,8 @@ struct acx_beacon_filter_ie_table { u8 pad[3]; } __attribute__ ((packed)); -#define SYNCH_FAIL_DEFAULT_THRESHOLD 5 /* number of beacons */ -#define NO_BEACON_DEFAULT_TIMEOUT (100) /* TU */ +#define SYNCH_FAIL_DEFAULT_THRESHOLD 10 /* number of beacons */ +#define NO_BEACON_DEFAULT_TIMEOUT (500) /* in microseconds */ struct acx_conn_monit_params { struct acx_header header; diff --git a/trunk/drivers/net/wireless/wl12xx/wl1251_event.c b/trunk/drivers/net/wireless/wl12xx/wl1251_event.c index 18c301ddcd74..020d764f9c13 100644 --- a/trunk/drivers/net/wireless/wl12xx/wl1251_event.c +++ b/trunk/drivers/net/wireless/wl12xx/wl1251_event.c @@ -86,6 +86,14 @@ static int wl1251_event_process(struct wl1251 *wl, struct event_mailbox *mbox) ieee80211_beacon_loss(wl->vif); } + if (vector & REGAINED_BSS_EVENT_ID) { + if (wl->psm_requested) { + ret = wl1251_ps_set_mode(wl, STATION_POWER_SAVE_MODE); + if (ret < 0) + return ret; + } + } + return 0; }