diff options
author | David Gnedt <david.gnedt@davizone.at> | 2011-01-30 14:10:57 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-02-03 16:42:44 -0500 |
commit | c3e334d29484423e78009790a3d3fa78da8b43a1 (patch) | |
tree | e7625921c13441f17962ba94acabc421d3da2ff6 /drivers/net/wireless/wl1251/ps.c | |
parent | bb4793b3c6370a1fed86978c6590241d770cb43e (diff) |
wl1251: enable beacon early termination while in power-saving mode
Port the beacon early termination feature from wl1251 driver version
included in the Maemo Fremantle kernel.
It is enabled when going to power-saving mode and disabled when leaving
power-saving mode.
Signed-off-by: David Gnedt <david.gnedt@davizone.at>
Acked-by: Kalle Valo <kvalo@adurom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/wl1251/ps.c')
-rw-r--r-- | drivers/net/wireless/wl1251/ps.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl1251/ps.c b/drivers/net/wireless/wl1251/ps.c index 5ed47c8373d..9ba23ede51b 100644 --- a/drivers/net/wireless/wl1251/ps.c +++ b/drivers/net/wireless/wl1251/ps.c | |||
@@ -153,6 +153,11 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_cmd_ps_mode mode) | |||
153 | if (ret < 0) | 153 | if (ret < 0) |
154 | return ret; | 154 | return ret; |
155 | 155 | ||
156 | ret = wl1251_acx_bet_enable(wl, WL1251_ACX_BET_ENABLE, | ||
157 | WL1251_DEFAULT_BET_CONSECUTIVE); | ||
158 | if (ret < 0) | ||
159 | return ret; | ||
160 | |||
156 | ret = wl1251_cmd_ps_mode(wl, STATION_POWER_SAVE_MODE); | 161 | ret = wl1251_cmd_ps_mode(wl, STATION_POWER_SAVE_MODE); |
157 | if (ret < 0) | 162 | if (ret < 0) |
158 | return ret; | 163 | return ret; |
@@ -170,6 +175,12 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_cmd_ps_mode mode) | |||
170 | if (ret < 0) | 175 | if (ret < 0) |
171 | return ret; | 176 | return ret; |
172 | 177 | ||
178 | /* disable BET */ | ||
179 | ret = wl1251_acx_bet_enable(wl, WL1251_ACX_BET_DISABLE, | ||
180 | WL1251_DEFAULT_BET_CONSECUTIVE); | ||
181 | if (ret < 0) | ||
182 | return ret; | ||
183 | |||
173 | /* disable beacon filtering */ | 184 | /* disable beacon filtering */ |
174 | ret = wl1251_acx_beacon_filter_opt(wl, false); | 185 | ret = wl1251_acx_beacon_filter_opt(wl, false); |
175 | if (ret < 0) | 186 | if (ret < 0) |