X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=blobdiff_plain;f=drivers%2Fnet%2Fwireless%2Fwl1251%2Fps.c;h=a52ff7aa131e0243f08972f3eae471a1cebb911f;hp=db719f7d26928c4012a1020a050edbd3a9560980;hb=d103a1e5961878d99f645716758aaf3027952fe4;hpb=fa514fbc57419505d0e9423dbb8742f2775f882e diff --git a/drivers/net/wireless/wl1251/ps.c b/drivers/net/wireless/wl1251/ps.c index db719f7d2692..a52ff7aa131e 100644 --- a/drivers/net/wireless/wl1251/ps.c +++ b/drivers/net/wireless/wl1251/ps.c @@ -112,21 +112,18 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_station_mode mode) 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) @@ -143,7 +140,7 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_station_mode mode) if (ret < 0) return ret; - ret = wl1251_cmd_template_set(wl, CMD_DISCONNECT, NULL, 0); + ret = wl1251_cmd_disconnect(wl); if (ret < 0) return ret; break; @@ -155,11 +152,13 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_station_mode mode) 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); @@ -178,7 +177,10 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_station_mode mode) break; } + if (mode != wl->station_mode) + wl->ps_transitioning = true; wl->station_mode = mode; + wl->ps_change_jiffies = jiffies; return ret; }