Commit 50c500ad authored by Juuso Oikarinen's avatar Juuso Oikarinen Committed by John W. Linville

wl1271: Configure a higher listen interval to AP upon association

Increase the fixed listen-interval max value configured to the mac80211 on
driver init. This value will allow a larger value to be configured to the
AP, which means the AP will buffer our frames longer.
Signed-off-by: default avatarJuuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: default avatarTeemu Paasikivi <ext-teemu.3.paasikivi@nokia.com>
Signed-off-by: default avatarLuciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 606c1487
...@@ -977,6 +977,13 @@ struct conf_conn_settings { ...@@ -977,6 +977,13 @@ struct conf_conn_settings {
* Range: 1000 - 3600000 * Range: 1000 - 3600000
*/ */
u32 keep_alive_interval; u32 keep_alive_interval;
/*
* Maximum listen interval supported by the driver in units of beacons.
*
* Range: u16
*/
u8 max_listen_interval;
}; };
enum { enum {
......
...@@ -219,7 +219,7 @@ static struct conf_drv_settings default_conf = { ...@@ -219,7 +219,7 @@ static struct conf_drv_settings default_conf = {
}, },
.conn = { .conn = {
.wake_up_event = CONF_WAKE_UP_EVENT_DTIM, .wake_up_event = CONF_WAKE_UP_EVENT_DTIM,
.listen_interval = 0, .listen_interval = 1,
.bcn_filt_mode = CONF_BCN_FILT_MODE_ENABLED, .bcn_filt_mode = CONF_BCN_FILT_MODE_ENABLED,
.bcn_filt_ie_count = 1, .bcn_filt_ie_count = 1,
.bcn_filt_ie = { .bcn_filt_ie = {
...@@ -266,7 +266,8 @@ static struct conf_drv_settings default_conf = { ...@@ -266,7 +266,8 @@ static struct conf_drv_settings default_conf = {
.bet_enable = CONF_BET_MODE_ENABLE, .bet_enable = CONF_BET_MODE_ENABLE,
.bet_max_consecutive = 10, .bet_max_consecutive = 10,
.psm_entry_retries = 3, .psm_entry_retries = 3,
.keep_alive_interval = 55000 .keep_alive_interval = 55000,
.max_listen_interval = 20,
}, },
.init = { .init = {
.radioparam = { .radioparam = {
...@@ -2253,6 +2254,7 @@ int wl1271_init_ieee80211(struct wl1271 *wl) ...@@ -2253,6 +2254,7 @@ int wl1271_init_ieee80211(struct wl1271 *wl)
/* unit us */ /* unit us */
/* FIXME: find a proper value */ /* FIXME: find a proper value */
wl->hw->channel_change_time = 10000; wl->hw->channel_change_time = 10000;
wl->hw->max_listen_interval = wl->conf.conn.max_listen_interval;
wl->hw->flags = IEEE80211_HW_SIGNAL_DBM | wl->hw->flags = IEEE80211_HW_SIGNAL_DBM |
IEEE80211_HW_NOISE_DBM | IEEE80211_HW_NOISE_DBM |
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment