diff options
Diffstat (limited to 'drivers/net/wireless/wl12xx/acx.c')
| -rw-r--r-- | drivers/net/wireless/wl12xx/acx.c | 17 | 
1 files changed, 11 insertions, 6 deletions
diff --git a/drivers/net/wireless/wl12xx/acx.c b/drivers/net/wireless/wl12xx/acx.c index 7537c401a44..bc96db0683a 100644 --- a/drivers/net/wireless/wl12xx/acx.c +++ b/drivers/net/wireless/wl12xx/acx.c @@ -34,12 +34,14 @@  #include "reg.h"  #include "ps.h" -int wl1271_acx_wake_up_conditions(struct wl1271 *wl, struct wl12xx_vif *wlvif) +int wl1271_acx_wake_up_conditions(struct wl1271 *wl, struct wl12xx_vif *wlvif, +				  u8 wake_up_event, u8 listen_interval)  {  	struct acx_wake_up_condition *wake_up;  	int ret; -	wl1271_debug(DEBUG_ACX, "acx wake up conditions"); +	wl1271_debug(DEBUG_ACX, "acx wake up conditions (wake_up_event %d listen_interval %d)", +		     wake_up_event, listen_interval);  	wake_up = kzalloc(sizeof(*wake_up), GFP_KERNEL);  	if (!wake_up) { @@ -48,8 +50,8 @@ int wl1271_acx_wake_up_conditions(struct wl1271 *wl, struct wl12xx_vif *wlvif)  	}  	wake_up->role_id = wlvif->role_id; -	wake_up->wake_up_event = wl->conf.conn.wake_up_event; -	wake_up->listen_interval = wl->conf.conn.listen_interval; +	wake_up->wake_up_event = wake_up_event; +	wake_up->listen_interval = listen_interval;  	ret = wl1271_cmd_configure(wl, ACX_WAKE_UP_CONDITIONS,  				   wake_up, sizeof(*wake_up)); @@ -1459,9 +1461,10 @@ out:  	return ret;  } -int wl1271_acx_tsf_info(struct wl1271 *wl, u64 *mactime) +int wl12xx_acx_tsf_info(struct wl1271 *wl, struct wl12xx_vif *wlvif, +			u64 *mactime)  { -	struct wl1271_acx_fw_tsf_information *tsf_info; +	struct wl12xx_acx_fw_tsf_information *tsf_info;  	int ret;  	tsf_info = kzalloc(sizeof(*tsf_info), GFP_KERNEL); @@ -1470,6 +1473,8 @@ int wl1271_acx_tsf_info(struct wl1271 *wl, u64 *mactime)  		goto out;  	} +	tsf_info->role_id = wlvif->role_id; +  	ret = wl1271_cmd_interrogate(wl, ACX_TSF_INFO,  				     tsf_info, sizeof(*tsf_info));  	if (ret < 0) {  |