meta-digi/meta-digi-dey/recipes-connectivity/hostapd/hostapd/murata/0018-wpa_supplicant-suppres...

68 lines
1.9 KiB
Diff

From 9af850cef2007cabe1bbffad3ef1d2b13396832d Mon Sep 17 00:00:00 2001
From: Darren Li <hsil@cypress.com>
Date: Tue, 22 Feb 2022 00:34:47 -0600
Subject: [PATCH 18/60] wpa_supplicant: suppress deauth for PMKSA caching
disabled
wpa_supplicant: Need a command/parameter suppress deauth for PMKSA caching disabled
Upstream-Status: Inappropriate [DEY specific]
Signed-off-by: Darren Li <Darren.Li@infineon.com>
---
src/rsn_supp/wpa.c | 5 ++++-
src/rsn_supp/wpa.h | 1 +
src/rsn_supp/wpa_i.h | 1 +
3 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
index 92ab7d561..1f6401ef3 100644
--- a/src/rsn_supp/wpa.c
+++ b/src/rsn_supp/wpa.c
@@ -2904,7 +2904,9 @@ static void wpa_sm_pmksa_free_cb(struct rsn_pmksa_cache_entry *entry,
if (deauth) {
sm->pmk_len = 0;
os_memset(sm->pmk, 0, sizeof(sm->pmk));
- wpa_sm_deauthenticate(sm, WLAN_REASON_UNSPECIFIED);
+ if (!sm->suppress_deauth_no_pmksa) {
+ wpa_sm_deauthenticate(sm, WLAN_REASON_UNSPECIFIED);
+ }
}
}
@@ -3240,6 +3242,7 @@ void wpa_sm_set_config(struct wpa_sm *sm, struct rsn_supp_config *config)
}
#endif /* CONFIG_FILS */
sm->beacon_prot = config->beacon_prot;
+ sm->suppress_deauth_no_pmksa = config->suppress_deauth_no_pmksa;
} else {
sm->network_ctx = NULL;
sm->allowed_pairwise_cipher = 0;
diff --git a/src/rsn_supp/wpa.h b/src/rsn_supp/wpa.h
index 41daaae2c..2cd1826e4 100644
--- a/src/rsn_supp/wpa.h
+++ b/src/rsn_supp/wpa.h
@@ -136,6 +136,7 @@ struct rsn_supp_config {
const u8 *fils_cache_id;
int beacon_prot;
bool force_kdk_derivation;
+ int suppress_deauth_no_pmksa;
};
#ifndef CONFIG_NO_WPA
diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
index 6cdce321d..3989c9ab3 100644
--- a/src/rsn_supp/wpa_i.h
+++ b/src/rsn_supp/wpa_i.h
@@ -216,6 +216,7 @@ struct wpa_sm {
struct wpabuf *dpp_z;
int dpp_pfs;
#endif /* CONFIG_DPP2 */
+ int suppress_deauth_no_pmksa;
};
--
2.17.1