Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -977,6 +977,13 @@ struct conf_conn_settings {
	 * Range: 1000 - 3600000
	 */
	u32 keep_alive_interval;

	/*
	 * Maximum listen interval supported by the driver in units of beacons.
	 *
	 * Range: u16
	 */
	u8 max_listen_interval;
};

enum {
+4 −2
Original line number Diff line number Diff line
@@ -219,7 +219,7 @@ static struct conf_drv_settings default_conf = {
	},
	.conn = {
		.wake_up_event               = CONF_WAKE_UP_EVENT_DTIM,
		.listen_interval             = 0,
		.listen_interval             = 1,
		.bcn_filt_mode               = CONF_BCN_FILT_MODE_ENABLED,
		.bcn_filt_ie_count           = 1,
		.bcn_filt_ie = {
@@ -266,7 +266,8 @@ static struct conf_drv_settings default_conf = {
		.bet_enable                  = CONF_BET_MODE_ENABLE,
		.bet_max_consecutive         = 10,
		.psm_entry_retries           = 3,
		.keep_alive_interval         = 55000
		.keep_alive_interval         = 55000,
		.max_listen_interval         = 20,
	},
	.init = {
		.radioparam = {
@@ -2253,6 +2254,7 @@ int wl1271_init_ieee80211(struct wl1271 *wl)
	/* unit us */
	/* FIXME: find a proper value */
	wl->hw->channel_change_time = 10000;
	wl->hw->max_listen_interval = wl->conf.conn.max_listen_interval;

	wl->hw->flags = IEEE80211_HW_SIGNAL_DBM |
		IEEE80211_HW_NOISE_DBM |