git: d8dd6b329e46 - main - LinuxKPI: 802.11: add missing linuxkpi_cfg80211_bss_flush()

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Sat, 30 Jul 2022 14:27:29 UTC
The branch main has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=d8dd6b329e4653a2aca308102187797d44afc2c4

commit d8dd6b329e4653a2aca308102187797d44afc2c4
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2022-07-30 14:23:14 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2022-07-30 14:23:14 +0000

    LinuxKPI: 802.11: add missing linuxkpi_cfg80211_bss_flush()
    
    Add the missing implementation of linuxkpi_cfg80211_bss_flush().
    without this we get unresolved symbols and drivers won't load.
    
    Reported by:    eduardo, Berislav Purgar (bpurgar gmail.com)
    MFC after:      3 days
    X-MFC-Squash:   b0f73768220e945deebebefc4a2d63ae6a3bfe19
---
 sys/compat/linuxkpi/common/src/linux_80211.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c
index 66a0a3f87cfc..a98ed56fcdad 100644
--- a/sys/compat/linuxkpi/common/src/linux_80211.c
+++ b/sys/compat/linuxkpi/common/src/linux_80211.c
@@ -530,6 +530,31 @@ linuxkpi_ieee80211_get_channel(struct wiphy *wiphy, uint32_t freq)
 	return (NULL);
 }
 
+void
+linuxkpi_cfg80211_bss_flush(struct wiphy *wiphy)
+{
+	struct lkpi_hw *lhw;
+	struct ieee80211com *ic;
+	struct ieee80211vap *vap;
+
+	lhw = wiphy_priv(wiphy);
+	ic = lhw->ic;
+
+	/*
+	 * If we haven't called ieee80211_ifattach() yet
+	 * or there is no VAP, there are no scans to flush.
+	 */
+	if (ic == NULL ||
+	    (lhw->sc_flags & LKPI_MAC80211_DRV_STARTED) == 0)
+		return;
+
+	/* Should only happen on the current one? Not seen it late enough. */
+	IEEE80211_LOCK(ic);
+	TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next)
+		ieee80211_scan_flush(vap);
+	IEEE80211_UNLOCK(ic);
+}
+
 #ifdef TRY_HW_CRYPTO
 static int
 _lkpi_iv_key_set_delete(struct ieee80211vap *vap, const struct ieee80211_key *k,