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

Commit 77ed4e45 authored by Thomas Pedersen's avatar Thomas Pedersen Committed by Kalle Valo
Browse files

ath6kl: disallow WoW with multiple vifs



The ath6kl fw does not have enough memory to support the WoW filters of
more than one vif. Disallow WoW suspend if this is the case.

Signed-off-by: default avatarThomas Pedersen <c_tpeder@qca.qualcomm.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 37a2f950
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -2059,6 +2059,10 @@ static int ath6kl_wow_suspend(struct ath6kl *ar, struct cfg80211_wowlan *wow)
	u8 index = 0;
	u8 index = 0;
	__be32 ips[MAX_IP_ADDRS];
	__be32 ips[MAX_IP_ADDRS];


	/* The FW currently can't support multi-vif WoW properly. */
	if (ar->num_vif > 1)
		return -EIO;

	vif = ath6kl_vif_first(ar);
	vif = ath6kl_vif_first(ar);
	if (!vif)
	if (!vif)
		return -EIO;
		return -EIO;
@@ -3137,6 +3141,10 @@ static int ath6kl_cfg80211_sscan_start(struct wiphy *wiphy,
	if (vif->sme_state != SME_DISCONNECTED)
	if (vif->sme_state != SME_DISCONNECTED)
		return -EBUSY;
		return -EBUSY;


	/* The FW currently can't support multi-vif WoW properly. */
	if (ar->num_vif > 1)
		return -EIO;

	ath6kl_cfg80211_scan_complete_event(vif, true);
	ath6kl_cfg80211_scan_complete_event(vif, true);


	ret = ath6kl_set_probed_ssids(ar, vif, request->ssids,
	ret = ath6kl_set_probed_ssids(ar, vif, request->ssids,