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

Commit f42bd2cb authored by Eliad Peller's avatar Eliad Peller Committed by Luciano Coelho
Browse files

wl12xx: use wl1271_acx_beacon_filter_opt for both sta and ap



Use ACX_BEACON_FILTER_OPT for both station and ap roles
(use the generic wl1271_acx_beacon_filter_opt()
instead of wl1271_acx_set_ap_beacon_filter() ).

Signed-off-by: default avatarEliad Peller <eliad@wizery.com>
Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
parent 154037d1
Loading
Loading
Loading
Loading
+0 −25
Original line number Diff line number Diff line
@@ -1660,31 +1660,6 @@ int wl1271_acx_set_inconnection_sta(struct wl1271 *wl, u8 *addr)
	return ret;
}

int wl1271_acx_set_ap_beacon_filter(struct wl1271 *wl, bool enable)
{
	struct acx_ap_beacon_filter *acx = NULL;
	int ret;

	wl1271_debug(DEBUG_ACX, "acx set ap beacon filter: %d", enable);

	acx = kzalloc(sizeof(*acx), GFP_KERNEL);
	if (!acx)
		return -ENOMEM;

	acx->enable = enable ? 1 : 0;

	ret = wl1271_cmd_configure(wl, ACX_AP_BEACON_FILTER_OPT,
				   acx, sizeof(*acx));
	if (ret < 0) {
		wl1271_warning("acx set ap beacon filter failed: %d", ret);
		goto out;
	}

out:
	kfree(acx);
	return ret;
}

int wl1271_acx_fm_coex(struct wl1271 *wl)
{
	struct wl1271_acx_fm_coex *acx;
+0 −9
Original line number Diff line number Diff line
@@ -1096,13 +1096,6 @@ struct wl1271_acx_inconnection_sta {
	u8 padding1[2];
} __packed;

struct acx_ap_beacon_filter {
	struct acx_header header;

	u8 enable;
	u8 pad[3];
} __packed;

/*
 * ACX_FM_COEX_CFG
 * set the FM co-existence parameters.
@@ -1177,7 +1170,6 @@ enum {
	ACX_TID_CFG                 = 0x001A,
	ACX_PS_RX_STREAMING         = 0x001B,
	ACX_BEACON_FILTER_OPT       = 0x001F,
	ACX_AP_BEACON_FILTER_OPT    = 0x0020,
	ACX_NOISE_HIST              = 0x0021,
	ACX_HDK_VERSION             = 0x0022, /* ??? */
	ACX_PD_THRESHOLD            = 0x0023,
@@ -1301,7 +1293,6 @@ int wl1271_acx_ps_rx_streaming(struct wl1271 *wl, bool enable);
int wl1271_acx_ap_max_tx_retry(struct wl1271 *wl);
int wl1271_acx_config_ps(struct wl1271 *wl);
int wl1271_acx_set_inconnection_sta(struct wl1271 *wl, u8 *addr);
int wl1271_acx_set_ap_beacon_filter(struct wl1271 *wl, bool enable);
int wl1271_acx_fm_coex(struct wl1271 *wl);

#endif /* __WL1271_ACX_H__ */
+1 −1
Original line number Diff line number Diff line
@@ -469,7 +469,7 @@ int wl1271_ap_init_templates(struct wl1271 *wl)
	 * when operating as AP we want to receive external beacons for
	 * configuring ERP protection.
	 */
	ret = wl1271_acx_set_ap_beacon_filter(wl, false);
	ret = wl1271_acx_beacon_filter_opt(wl, false);
	if (ret < 0)
		return ret;

+2 −2
Original line number Diff line number Diff line
@@ -1639,7 +1639,7 @@ static int wl1271_configure_suspend_ap(struct wl1271 *wl)
	if (ret < 0)
		goto out_unlock;

	ret = wl1271_acx_set_ap_beacon_filter(wl, true);
	ret = wl1271_acx_beacon_filter_opt(wl, true);

	wl1271_ps_elp_sleep(wl);
out_unlock:
@@ -1677,7 +1677,7 @@ static void wl1271_configure_resume(struct wl1271 *wl)
			wl1271_ps_set_mode(wl, STATION_ACTIVE_MODE,
					   wl->basic_rate, true);
	} else if (is_ap) {
		wl1271_acx_set_ap_beacon_filter(wl, false);
		wl1271_acx_beacon_filter_opt(wl, false);
	}

	wl1271_ps_elp_sleep(wl);