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

Commit 9f483dc3 authored by Luciano Coelho's avatar Luciano Coelho Committed by John W. Linville
Browse files

wl12xx: pass the wake up condition when configuring the wake up event



Changed the function wl12xx_acx_wake_up_conditions() so that it receives an
argument with the actual wake up condition, instead of having
WAKE_UP_EVENT_DTIM_BITMAP hardcoded.  This is needed because we have to use
different conditions in 1271.

Signed-off-by: default avatarLuciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: default avatarKalle Valo <kalle.valo@nokia.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 052a625a
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -96,7 +96,8 @@ int wl12xx_acx_default_key(struct wl12xx *wl, u8 key_id)
	return ret;
}

int wl12xx_acx_wake_up_conditions(struct wl12xx *wl, u8 listen_interval)
int wl12xx_acx_wake_up_conditions(struct wl12xx *wl, u8 wake_up_event,
				  u8 listen_interval)
{
	struct acx_wake_up_condition *wake_up;
	int ret;
@@ -109,7 +110,7 @@ int wl12xx_acx_wake_up_conditions(struct wl12xx *wl, u8 listen_interval)
		goto out;
	}

	wake_up->wake_up_event = WAKE_UP_EVENT_DTIM_BITMAP;
	wake_up->wake_up_event = wake_up_event;
	wake_up->listen_interval = listen_interval;

	ret = wl12xx_cmd_configure(wl, ACX_WAKE_UP_CONDITIONS,
+2 −1
Original line number Diff line number Diff line
@@ -1112,7 +1112,8 @@ int wl12xx_acx_frame_rates(struct wl12xx *wl, u8 ctrl_rate, u8 ctrl_mod,
			   u8 mgt_rate, u8 mgt_mod);
int wl12xx_acx_station_id(struct wl12xx *wl);
int wl12xx_acx_default_key(struct wl12xx *wl, u8 key_id);
int wl12xx_acx_wake_up_conditions(struct wl12xx *wl, u8 listen_interval);
int wl12xx_acx_wake_up_conditions(struct wl12xx *wl, u8 wake_up_event,
				  u8 listen_interval);
int wl12xx_acx_sleep_auth(struct wl12xx *wl, u8 sleep_auth);
int wl12xx_acx_fw_version(struct wl12xx *wl, char *buf, size_t len);
int wl12xx_acx_tx_power(struct wl12xx *wl, int power);
+2 −1
Original line number Diff line number Diff line
@@ -346,7 +346,8 @@ int wl12xx_cmd_ps_mode(struct wl12xx *wl, u8 ps_mode)
	int ret = 0;

	/* FIXME: this should be in ps.c */
	ret = wl12xx_acx_wake_up_conditions(wl, wl->listen_int);
	ret = wl12xx_acx_wake_up_conditions(wl, WAKE_UP_EVENT_DTIM_BITMAP,
					    wl->listen_int);
	if (ret < 0) {
		wl12xx_error("couldn't set wake up conditions");
		goto out;