git: 1a86fec11b00 - stable/13 - LinuxKPI: 802.11: use ieee80211_beacon_miss()

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Wed, 04 May 2022 15:18:12 UTC
The branch stable/13 has been updated by bz:

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

commit 1a86fec11b006d5e3f80c37a90b46f1dc95ba236
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2022-04-30 07:57:34 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2022-05-04 13:13:06 +0000

    LinuxKPI: 802.11: use ieee80211_beacon_miss()
    
    In ieee80211_beacon_loss() call into net80211::ieee80211_beacon_miss()
    rather than manually bouncing our state.  That should give us the
    ability to send a probereq and see if the AP is till there rather than
    right away going to scan.
    
    Sponsored by:   The FreeBSD Foundation
    
    (cherry picked from commit 3540911bfdd83ce69d1c436f6773becefef403fa)
---
 sys/compat/linuxkpi/common/src/linux_80211.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c
index b80d8b62087b..27141829839f 100644
--- a/sys/compat/linuxkpi/common/src/linux_80211.c
+++ b/sys/compat/linuxkpi/common/src/linux_80211.c
@@ -4459,27 +4459,16 @@ linuxkpi_ieee80211_beacon_loss(struct ieee80211_vif *vif)
 {
 	struct lkpi_vif *lvif;
 	struct ieee80211vap *vap;
-	enum ieee80211_state nstate;
-	int arg;
 
 	lvif = VIF_TO_LVIF(vif);
 	vap = LVIF_TO_VAP(lvif);
 
-	/*
-	 * Go to scan; otherwise we need to elaborately check state and
-	 * handle accordingly, e.g., if in RUN we could call iv_bmiss.
-	 * Let the statemachine handle all neccessary changes.
-	 */
-	nstate = IEEE80211_S_SCAN;
-	arg = 0;
-
-	/* We should be in RUN.  Can we assert that? */
 #ifdef LINUXKPI_DEBUG_80211
 	if (linuxkpi_debug_80211 & D80211_TRACE || vap->iv_state != IEEE80211_S_RUN)
 		ic_printf(vap->iv_ic, "%s: vif %p vap %p state %s\n", __func__,
 		    vif, vap, ieee80211_state_name[vap->iv_state]);
 #endif
-	ieee80211_new_state(vap, nstate, arg);
+	ieee80211_beacon_miss(vap->iv_ic);
 }
 
 MODULE_VERSION(linuxkpi_wlan, 1);