diff --git a/package/wpa_supplicant/0001-build-re-enable-options-for-libwpa_client.so-and-.patch b/package/wpa_supplicant/0001-build-re-enable-options-for-libwpa_client.so-and-.patch
deleted file mode 100644
index 156d0e7e2c..0000000000
--- a/package/wpa_supplicant/0001-build-re-enable-options-for-libwpa_client.so-and-.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From e6a6a4e3df52cc60425fcd037d3ec68a38f948ce Mon Sep 17 00:00:00 2001
-From: Sergey Matyukevich <geomatsi@gmail.com>
-Date: Sun, 20 Feb 2022 10:12:28 +0300
-Subject: [PATCH] build: re-enable options for libwpa_client.so and wpa_passphrase
-
-Commit a41a29192e5d ("build: Pull common fragments into a build.rules
-file") introduced regression into wpa_supplicant build process. Build
-target libwpa_client.so is not built regardless of whether the option
-CONFIG_BUILD_WPA_CLIENT_SO is set or not. This happens because config
-option is used before it is imported from the configuration file.
-Moving its usage after including build.rules does not help: variable
-ALL is processed by build.rules and further changes are not applied.
-Similarly, option CONFIG_NO_WPA_PASSPHRASE also does not work as
-expected: wpa_passphrase is always built regardless of whether the
-option is set or not.
-
-This commit re-enables options adding both build targets to _all
-dependencies.
-
-Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
----
- wpa_supplicant/Makefile | 19 ++++++++++++-------
- 1 file changed, 12 insertions(+), 7 deletions(-)
-
-diff --git a/wpa_supplicant/Makefile b/wpa_supplicant/Makefile
-index cb66defac..e384cc6b8 100644
---- a/wpa_supplicant/Makefile
-+++ b/wpa_supplicant/Makefile
-@@ -1,24 +1,29 @@
- BINALL=wpa_supplicant wpa_cli
- 
--ifndef CONFIG_NO_WPA_PASSPHRASE
--BINALL += wpa_passphrase
--endif
--
- ALL = $(BINALL)
- ALL += systemd/wpa_supplicant.service
- ALL += systemd/wpa_supplicant@.service
- ALL += systemd/wpa_supplicant-nl80211@.service
- ALL += systemd/wpa_supplicant-wired@.service
- ALL += dbus/fi.w1.wpa_supplicant1.service
--ifdef CONFIG_BUILD_WPA_CLIENT_SO
--ALL += libwpa_client.so
--endif
- 
- EXTRA_TARGETS=dynamic_eap_methods
- 
- CONFIG_FILE=.config
- include ../src/build.rules
- 
-+ifdef CONFIG_BUILD_WPA_CLIENT_SO
-+# add the dependency this way to allow CONFIG_BUILD_WPA_CLIENT_SO
-+# being set in the config which is read by build.rules
-+_all: libwpa_client.so
-+endif
-+
-+ifndef CONFIG_NO_WPA_PASSPHRASE
-+# add the dependency this way to allow CONFIGNO_WPA_PASSPHRASE
-+# being set in the config which is read by build.rules
-+_all: wpa_passphrase
-+endif
-+
- ifdef LIBS
- # If LIBS is set with some global build system defaults, clone those for
- # LIBS_c and LIBS_p to cover wpa_passphrase and wpa_cli as well.
--- 
-2.35.1
-
diff --git a/package/wpa_supplicant/0002-wpa_supplicant-use-a-less-generic-name-for-IEEE802.1.patch b/package/wpa_supplicant/0002-wpa_supplicant-use-a-less-generic-name-for-IEEE802.1.patch
deleted file mode 100644
index a8637111bb..0000000000
--- a/package/wpa_supplicant/0002-wpa_supplicant-use-a-less-generic-name-for-IEEE802.1.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From c8af2e431b47d7d900e0c7359705aaa1096d302a Mon Sep 17 00:00:00 2001
-From: Sergey Matyukevich <geomatsi@gmail.com>
-Date: Fri, 16 Sep 2022 23:18:50 +0300
-Subject: [PATCH] wpa_supplicant: use a less generic name for IEEE802.11 CRC-32 routine
-
-Hostapd uses 'crc32' name for IEEE802.11 CRC-32 routine. This name is
-too generic. Buildroot autobuilder detected build configuration that
-failed to build due to the naming conflict: static linking with openssl
-using zlib-ng as a zlib provider, e.g. see:
-- http://autobuild.buildroot.net/results/9901df820d3afa4cde78e8ad6d62cb8ce7e69fdb/
-- http://autobuild.buildroot.net/results/ac19975f0bf77f4a8ca574c374092ba81cd5a332/
-
-Use a less generic name ieee80211_crc32 for IEEE802.11 CRC-32 routine
-to avoid such naming conflicts.
-
-Upstream: https://w1.fi/cgit/hostap/commit/?id=0c7b3814ca6070a8e930dea09fde08b4058a4ca6
-Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
----
- src/ap/hostapd.c     | 3 ++-
- src/ap/neighbor_db.c | 2 +-
- src/utils/crc32.c    | 2 +-
- src/utils/crc32.h    | 2 +-
- 4 files changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index 4b88641a2..56c8fb90e 100644
---- a/src/ap/hostapd.c
-+++ b/src/ap/hostapd.c
-@@ -1230,7 +1230,8 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first)
- 	 * Short SSID calculation is identical to FCS and it is defined in
- 	 * IEEE P802.11-REVmd/D3.0, 9.4.2.170.3 (Calculating the Short-SSID).
- 	 */
--	conf->ssid.short_ssid = crc32(conf->ssid.ssid, conf->ssid.ssid_len);
-+	conf->ssid.short_ssid = ieee80211_crc32(conf->ssid.ssid,
-+						conf->ssid.ssid_len);
- 
- 	if (!hostapd_drv_none(hapd)) {
- 		wpa_printf(MSG_DEBUG, "Using interface %s with hwaddr " MACSTR
-diff --git a/src/ap/neighbor_db.c b/src/ap/neighbor_db.c
-index 229edd2a9..ef17634c3 100644
---- a/src/ap/neighbor_db.c
-+++ b/src/ap/neighbor_db.c
-@@ -136,7 +136,7 @@ int hostapd_neighbor_set(struct hostapd_data *hapd, const u8 *bssid,
- 
- 	os_memcpy(entry->bssid, bssid, ETH_ALEN);
- 	os_memcpy(&entry->ssid, ssid, sizeof(entry->ssid));
--	entry->short_ssid = crc32(ssid->ssid, ssid->ssid_len);
-+	entry->short_ssid = ieee80211_crc32(ssid->ssid, ssid->ssid_len);
- 
- 	entry->nr = wpabuf_dup(nr);
- 	if (!entry->nr)
-diff --git a/src/utils/crc32.c b/src/utils/crc32.c
-index 12d9e2a70..371254994 100644
---- a/src/utils/crc32.c
-+++ b/src/utils/crc32.c
-@@ -72,7 +72,7 @@ static const u32 crc32_table[256] = {
- };
- 
- 
--u32 crc32(const u8 *frame, size_t frame_len)
-+u32 ieee80211_crc32(const u8 *frame, size_t frame_len)
- {
- 	size_t i;
- 	u32 crc;
-diff --git a/src/utils/crc32.h b/src/utils/crc32.h
-index dc31399be..71a19dc5f 100644
---- a/src/utils/crc32.h
-+++ b/src/utils/crc32.h
-@@ -9,6 +9,6 @@
- #ifndef CRC32_H
- #define CRC32_H
- 
--u32 crc32(const u8 *frame, size_t frame_len);
-+u32 ieee80211_crc32(const u8 *frame, size_t frame_len);
- 
- #endif /* CRC32_H */
--- 
-2.37.1
-
diff --git a/package/wpa_supplicant/0003-Include-HMAC-SHA384-512-KDF-for-SAE-if-SHA384-512-is.patch b/package/wpa_supplicant/0003-Include-HMAC-SHA384-512-KDF-for-SAE-if-SHA384-512-is.patch
deleted file mode 100644
index 98df56e540..0000000000
--- a/package/wpa_supplicant/0003-Include-HMAC-SHA384-512-KDF-for-SAE-if-SHA384-512-is.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From c7f71fb8679c4cdd2607dbaac467a1d5efe9f0f9 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Sun, 17 Apr 2022 12:28:41 +0300
-Subject: [PATCH] Include HMAC-SHA384/512 KDF for SAE if SHA384/512 is included
-
-It was possible to miss the HMAC functions if some other build
-configuration parameters ended up setting NEED_SHA384/512=y.
-
-Upstream: https://w1.fi/cgit/hostap/commit/?id=c7f71fb8679c4cdd2607dbaac467a1d5efe9f0f9
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
-Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
----
- wpa_supplicant/Android.mk | 11 +++++++++++
- wpa_supplicant/Makefile   | 11 +++++++++++
- 2 files changed, 22 insertions(+)
-
-diff --git a/wpa_supplicant/Android.mk b/wpa_supplicant/Android.mk
-index 0e0ce467c..bcdbd6c90 100644
---- a/wpa_supplicant/Android.mk
-+++ b/wpa_supplicant/Android.mk
-@@ -1361,6 +1361,17 @@ endif
- endif
- endif
- 
-+ifdef CONFIG_SAE
-+ifdef NEED_SHA384
-+# Need to add HMAC-SHA384 KDF as well, if SHA384 was enabled.
-+NEED_HMAC_SHA384_KDF=y
-+endif
-+ifdef NEED_SHA512
-+# Need to add HMAC-SHA512 KDF as well, if SHA512 was enabled.
-+NEED_HMAC_SHA512_KDF=y
-+endif
-+endif
-+
- SHA256OBJS = # none by default
- L_CFLAGS += -DCONFIG_SHA256
- ifneq ($(CONFIG_TLS), openssl)
-diff --git a/wpa_supplicant/Makefile b/wpa_supplicant/Makefile
-index ed49aa972..69c80121c 100644
---- a/wpa_supplicant/Makefile
-+++ b/wpa_supplicant/Makefile
-@@ -1475,6 +1475,17 @@ endif
- endif
- endif
- 
-+ifdef CONFIG_SAE
-+ifdef NEED_SHA384
-+# Need to add HMAC-SHA384 KDF as well, if SHA384 was enabled.
-+NEED_HMAC_SHA384_KDF=y
-+endif
-+ifdef NEED_SHA512
-+# Need to add HMAC-SHA512 KDF as well, if SHA512 was enabled.
-+NEED_HMAC_SHA512_KDF=y
-+endif
-+endif
-+
- SHA256OBJS = # none by default
- CFLAGS += -DCONFIG_SHA256
- ifneq ($(CONFIG_TLS), openssl)
--- 
-2.39.2
-
diff --git a/package/wpa_supplicant/wpa_supplicant.hash b/package/wpa_supplicant/wpa_supplicant.hash
index fcaee0a30b..940fad4c6f 100644
--- a/package/wpa_supplicant/wpa_supplicant.hash
+++ b/package/wpa_supplicant/wpa_supplicant.hash
@@ -1,3 +1,3 @@
 # Locally calculated
-sha256  20df7ae5154b3830355f8ab4269123a87affdea59fe74fe9292a91d0d7e17b2f  wpa_supplicant-2.10.tar.gz
+sha256  912ea06f74e30a8e36fbb68064d6cdff218d8d591db0fc5d75dee6c81ac7fc0a  wpa_supplicant-2.11.tar.gz
 sha256  af01e1d1ee065a1054d20ebe8a78a016f1fb1133b73e6a9d50801b165bb280c7  README
diff --git a/package/wpa_supplicant/wpa_supplicant.mk b/package/wpa_supplicant/wpa_supplicant.mk
index 42c6f772ac..984959f679 100644
--- a/package/wpa_supplicant/wpa_supplicant.mk
+++ b/package/wpa_supplicant/wpa_supplicant.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-WPA_SUPPLICANT_VERSION = 2.10
+WPA_SUPPLICANT_VERSION = 2.11
 WPA_SUPPLICANT_SITE = http://w1.fi/releases
 WPA_SUPPLICANT_LICENSE = BSD-3-Clause
 WPA_SUPPLICANT_LICENSE_FILES = README
