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

Commit fdfe084b authored by Lior David's avatar Lior David Committed by Maya Erez
Browse files

wil6210: multiple VIFs support for FTM



Added support for multiple VIFs to FTM and AOA measurements.
Each VIF has an independent FTM/AOA session. In theory they
can run concurrently but currently FW queues session requests
and executes them serially.

Change-Id: If44446678c703793e26fd2fb7c22b92652d3bb33
Signed-off-by: default avatarLior David <liord@codeaurora.org>
Signed-off-by: default avatarAlexei Avshalom Lazar <ailizaro@codeaurora.org>
parent 456872cf
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2016,6 +2016,7 @@ static int wil_cfg80211_suspend(struct wiphy *wiphy,

	mutex_lock(&wil->mutex);
	mutex_lock(&wil->vif_mutex);
	wil_ftm_stop_operations(wil);
	wil_p2p_stop_radio_operations(wil);
	wil_abort_scan_all_vifs(wil, true);
	mutex_unlock(&wil->vif_mutex);
+9 −3
Original line number Diff line number Diff line
@@ -969,8 +969,14 @@ void wil_ftm_deinit(struct wil6210_vif *vif)

void wil_ftm_stop_operations(struct wil6210_priv *wil)
{
	struct wil6210_vif *vif = ndev_to_vif(wil->main_ndev);
	int i;

	for (i = 0; i < wil->max_vifs; i++) {
		struct wil6210_vif *vif = wil->vifs[i];

		if (!vif)
			continue;
		wil_ftm_cfg80211_session_ended(
			vif, QCA_WLAN_VENDOR_ATTR_LOC_SESSION_STATUS_ABORTED);
	}
}
+1 −2
Original line number Diff line number Diff line
@@ -1495,9 +1495,8 @@ int __wil_down(struct wil6210_priv *wil)
	}
	wil_enable_irq(wil);

	wil_ftm_stop_operations(wil);

	mutex_lock(&wil->vif_mutex);
	wil_ftm_stop_operations(wil);
	wil_p2p_stop_radio_operations(wil);
	wil_abort_scan_all_vifs(wil, false);
	mutex_unlock(&wil->vif_mutex);