* [Buildroot] [PATCH] package/esp-hosted: fix build failure with Linux >= 7.3.0
@ 2026-11-02 14:37 Giulio Benetti
2026-11-02 14:39 ` Giulio Benetti
2026-11-04 21:54 ` Thomas Petazzoni via buildroot
0 siblings, 2 replies; 3+ messages in thread
From: Giulio Benetti @ 2026-11-02 14:37 UTC (permalink / raw)
To: buildroot; +Cc: Giulio Benetti
Espressif moved esp-hosted NG driver to a separate repository so let's
point ESP_HOSTED_SITE accordingly(esp-hosted-linux) taking into account
the slight difference of folder structure.
Let's also bump to latest version 2026-11-01 and drop local patch that has
been applied to master branch.
So let's add local patch pending upstream to fix build failure with Linux
7.3.0.
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
...p_hosted_ng-Fix-build-for-kernel-7.1.patch | 147 ------------------
...p_hosted_ng-Fix-build-for-kernel-7.3.patch | 86 ++++++++++
package/esp-hosted/esp-hosted.hash | 2 +-
package/esp-hosted/esp-hosted.mk | 8 +-
4 files changed, 91 insertions(+), 152 deletions(-)
delete mode 100644 package/esp-hosted/0001-fix-esp_hosted_ng-Fix-build-for-kernel-7.1.patch
create mode 100644 package/esp-hosted/0001-fix-esp_hosted_ng-Fix-build-for-kernel-7.3.patch
diff --git a/package/esp-hosted/0001-fix-esp_hosted_ng-Fix-build-for-kernel-7.1.patch b/package/esp-hosted/0001-fix-esp_hosted_ng-Fix-build-for-kernel-7.1.patch
deleted file mode 100644
index 90076b4956..0000000000
--- a/package/esp-hosted/0001-fix-esp_hosted_ng-Fix-build-for-kernel-7.1.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From fa27d70495e3b4f92c9de43b33aa09813a318495 Mon Sep 17 00:00:00 2001
-From: Giulio Benetti <giulio.benetti@benettiengineering.com>
-Date: Mon, 18 May 2026 16:44:57 +0200
-Subject: [PATCH] fix(esp_hosted_ng): Fix build for kernel 7.1
-
-With commit:
-https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=033fe322f5852d5144a85978e880e01b1787fd0d
-many functions esp_cfg80211_*() have argument struct netdevice * subsituted
-with struct wireless_dev *. So let's add separate function headers and
-retrieve struct netdev * from struct wireless_dev * if Linux version >= 7.1.
-
-Upstream: https://github.com/espressif/esp-hosted/pull/736
-Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
----
- esp_hosted_ng/host/esp_cfg80211.c | 50 +++++++++++++++++++++++++++++++
- 1 file changed, 50 insertions(+)
-
-diff --git a/esp_hosted_ng/host/esp_cfg80211.c b/esp_hosted_ng/host/esp_cfg80211.c
-index c68f7983e6..1009df1fd5 100644
---- a/esp_hosted_ng/host/esp_cfg80211.c
-+++ b/esp_hosted_ng/host/esp_cfg80211.c
-@@ -533,22 +533,38 @@ static int esp_cfg80211_set_default_key(struct wiphy *wiphy,
- }
-
- static int esp_cfg80211_set_default_mgmt_key(struct wiphy *wiphy,
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
-+ struct wireless_dev *wdev, INT_LINK_ID u8 key_index)
-+#else
- struct net_device *ndev, INT_LINK_ID u8 key_index)
-+#endif
- {
- return 0;
- }
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
-+static int esp_cfg80211_del_key(struct wiphy *wiphy, struct wireless_dev *wdev,
-+#else
- static int esp_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev,
-+#endif
- INT_LINK_ID u8 key_index, bool pairwise,
- const u8 *mac_addr)
- {
- return 0;
- }
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
-+static int esp_cfg80211_add_key(struct wiphy *wiphy, struct wireless_dev *wdev,
-+ INT_LINK_ID u8 key_index, bool pairwise,
-+ const u8 *mac_addr, struct key_params *params)
-+{
-+ struct net_device *dev = wdev->netdev;
-+#else
- static int esp_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev,
- INT_LINK_ID u8 key_index, bool pairwise,
- const u8 *mac_addr, struct key_params *params)
- {
-+#endif
- struct esp_wifi_device *priv = NULL;
-
- if (!wiphy || !dev || !params) {
-@@ -564,7 +580,11 @@ static int esp_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev,
- esp_dbg("\n");
-
- if (params->key_len == 0) {
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
-+ return esp_cfg80211_del_key(wiphy, wdev, ZERO_LINK_ID key_index, pairwise, mac_addr);
-+#else
- return esp_cfg80211_del_key(wiphy, dev, ZERO_LINK_ID key_index, pairwise, mac_addr);
-+#endif
- }
- return cmd_add_key(priv, key_index, pairwise, mac_addr, params);
- }
-@@ -783,9 +803,16 @@ static int esp_cfg80211_set_tx_power(struct wiphy *wiphy,
- return cmd_set_tx_power(priv, priv->tx_pwr);
- }
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
-+static int esp_cfg80211_get_station(struct wiphy *wiphy, struct wireless_dev *wdev,
-+ const u8 *mac, struct station_info *sinfo)
-+{
-+ struct net_device *ndev = wdev->netdev;
-+#else
- static int esp_cfg80211_get_station(struct wiphy *wiphy, struct net_device *ndev,
- const u8 *mac, struct station_info *sinfo)
- {
-+#endif
- struct esp_wifi_device *priv = NULL;
-
- priv = netdev_priv(ndev);
-@@ -1034,9 +1061,16 @@ static int esp_cfg80211_probe_client(struct wiphy *wiphy, struct net_device *dev
- return 0;
- }
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
-+static int esp_cfg80211_del_station(struct wiphy *wiphy, struct wireless_dev *wdev,
-+ struct station_del_parameters *params)
-+{
-+ struct net_device *dev = wdev->netdev;
-+#else
- static int esp_cfg80211_del_station(struct wiphy *wiphy, struct net_device *dev,
- struct station_del_parameters *params)
- {
-+#endif
- struct esp_wifi_device *priv = NULL;
-
- if (!wiphy || !dev) {
-@@ -1055,10 +1089,18 @@ static int esp_cfg80211_del_station(struct wiphy *wiphy, struct net_device *dev,
- return 0;
- }
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
-+static int esp_cfg80211_add_station(struct wiphy *wiphy, struct wireless_dev *wdev,
-+ const u8 *mac,
-+ struct station_parameters *params)
-+{
-+ struct net_device *dev = wdev->netdev;
-+#else
- static int esp_cfg80211_add_station(struct wiphy *wiphy, struct net_device *dev,
- const u8 *mac,
- struct station_parameters *params)
- {
-+#endif
- struct esp_wifi_device *priv = NULL;
-
- if (!wiphy || !dev) {
-@@ -1078,10 +1120,18 @@ static int esp_cfg80211_add_station(struct wiphy *wiphy, struct net_device *dev,
- return 0;
- }
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
-+static int esp_cfg80211_change_station(struct wiphy *wiphy,
-+ struct wireless_dev *wdev, const u8 *mac,
-+ struct station_parameters *params)
-+{
-+ struct net_device *dev = wdev->netdev;
-+#else
- static int esp_cfg80211_change_station(struct wiphy *wiphy,
- struct net_device *dev, const u8 *mac,
- struct station_parameters *params)
- {
-+#endif
- struct esp_wifi_device *priv = NULL;
-
- if (!wiphy || !dev) {
---
-2.47.3
-
diff --git a/package/esp-hosted/0001-fix-esp_hosted_ng-Fix-build-for-kernel-7.3.patch b/package/esp-hosted/0001-fix-esp_hosted_ng-Fix-build-for-kernel-7.3.patch
new file mode 100644
index 0000000000..3614f65b16
--- /dev/null
+++ b/package/esp-hosted/0001-fix-esp_hosted_ng-Fix-build-for-kernel-7.3.patch
@@ -0,0 +1,86 @@
+From f91cb6274e5b13342091a934fadeeb39ea9613d0 Mon Sep 17 00:00:00 2001
+From: Giulio Benetti <giulio.benetti@benettiengineering.com>
+Date: Thu, 29 Oct 2026 12:46:52 +0100
+Subject: [PATCH] fix(esp_hosted_ng): Fix build for kernel 7.3
+
+With commit:
+https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=914781c72813989b512609a51f8abb68417f722d
+argument u64 *cookie changed into u64 cookie for mgmt_tx callback.
+So let's deal with it when Linux version >= 7.3.0.
+
+With commit:
+https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4ab9b637b94a
+probe_client callback has been renamed to probe_peer.
+So let's disable probe_client when Linux version >= 7.3.0.
+
+Upstream: https://github.com/espressif/esp-hosted-linux/pull/6
+Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
+---
+ host/esp_cfg80211.c | 22 ++++++++++++++++++++--
+ 1 file changed, 20 insertions(+), 2 deletions(-)
+
+diff --git a/host/esp_cfg80211.c b/host/esp_cfg80211.c
+index 2edd523..ff61de5 100644
+--- a/host/esp_cfg80211.c
++++ b/host/esp_cfg80211.c
+@@ -1190,7 +1190,12 @@ static int esp_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
+ #else
+ struct cfg80211_mgmt_tx_params *params,
+ #endif
+- u64 *cookie)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(7, 3, 0)
++ u64 cookie
++#else
++ u64 *cookie
++#endif
++)
+ {
+ struct esp_wifi_device *priv = NULL;
+
+@@ -1207,8 +1212,11 @@ static int esp_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
+ esp_err("empty priv\n");
+ return -EINVAL;
+ }
+-
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(7, 3, 0)
++ return cmd_mgmt_request(priv, params, &cookie);
++#else
+ return cmd_mgmt_request(priv, params, cookie);
++#endif
+ }
+
+ static int esp_cfg80211_set_ap_chanwidth(struct wiphy *wiphy,
+@@ -2444,12 +2452,18 @@ static void esp_cfg80211_mgmt_frame_registrations(struct wiphy *wiphy,
+ }
+ #endif
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 3, 0))
++static int esp_cfg80211_probe_peer(struct wiphy *wiphy, struct net_device *dev,
++ const u8 *peer, u64 cookie)
++#else
+ static int esp_cfg80211_probe_client(struct wiphy *wiphy, struct net_device *dev,
+ const u8 *peer, u64 *cookie)
++#endif
+ {
+ return -EOPNOTSUPP;
+ }
+
++
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
+ static int esp_cfg80211_del_station(struct wiphy *wiphy, struct wireless_dev *wdev,
+ struct station_del_parameters *params)
+@@ -2675,7 +2689,11 @@ static struct cfg80211_ops esp_cfg80211_ops = {
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0))
+ .update_mgmt_frame_registrations = esp_cfg80211_mgmt_frame_registrations,
+ #endif
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 3, 0))
++ .probe_peer = esp_cfg80211_probe_peer,
++#else
+ .probe_client = esp_cfg80211_probe_client,
++#endif
+ .del_station = esp_cfg80211_del_station,
+ .add_station = esp_cfg80211_add_station,
+ .change_station = esp_cfg80211_change_station,
+--
+2.47.3
+
diff --git a/package/esp-hosted/esp-hosted.hash b/package/esp-hosted/esp-hosted.hash
index b478d412f4..8b8347ebf4 100644
--- a/package/esp-hosted/esp-hosted.hash
+++ b/package/esp-hosted/esp-hosted.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 b8baa6d1c8576f5453e382333bc4aafef1293b4705f073dff5b08d900d10d68c ng-v1.0.6.tar.gz
+sha256 02abcfea2bf8e040d7fb6af19de155d19cf0a7f698dc069639ec0ab5f2dedf4b ng-v54d53676e36850e53d82ee779b6d65dff8e65967.tar.gz
sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 esp_hosted_ng/host/LICENSE
diff --git a/package/esp-hosted/esp-hosted.mk b/package/esp-hosted/esp-hosted.mk
index 5cf6571481..8a9140d07a 100644
--- a/package/esp-hosted/esp-hosted.mk
+++ b/package/esp-hosted/esp-hosted.mk
@@ -4,13 +4,13 @@
#
################################################################################
-ESP_HOSTED_VERSION = 1.0.6
-ESP_HOSTED_SITE = $(call github,espressif,esp-hosted,release/ng-$(ESP_HOSTED_VERSION))
+ESP_HOSTED_VERSION = 54d53676e36850e53d82ee779b6d65dff8e65967
+ESP_HOSTED_SITE = $(call github,espressif,esp-hosted-linux,$(ESP_HOSTED_VERSION))
ESP_HOSTED_SOURCE = ng-v$(ESP_HOSTED_VERSION).tar.gz
ESP_HOSTED_DEPENDENCIES = linux
ESP_HOSTED_LICENSE = GPL-2.0
-ESP_HOSTED_LICENSE_FILES = esp_hosted_ng/host/LICENSE
-ESP_HOSTED_MODULE_SUBDIRS = esp_hosted_ng/host
+ESP_HOSTED_LICENSE_FILES = host/LICENSE
+ESP_HOSTED_MODULE_SUBDIRS = host
define ESP_HOSTED_LINUX_CONFIG_FIXUPS
$(call KCONFIG_ENABLE_OPT,CONFIG_NET)
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH] package/esp-hosted: fix build failure with Linux >= 7.3.0
2026-11-02 14:37 [Buildroot] [PATCH] package/esp-hosted: fix build failure with Linux >= 7.3.0 Giulio Benetti
@ 2026-11-02 14:39 ` Giulio Benetti
2026-11-04 21:54 ` Thomas Petazzoni via buildroot
1 sibling, 0 replies; 3+ messages in thread
From: Giulio Benetti @ 2026-11-02 14:39 UTC (permalink / raw)
To: buildroot
Fixes:
https://autobuild.buildroot.net/results/73d/73dfe379673a3ac506ab96ee7bacc9172a3aa66a/
On 11/2/26 15:37, Giulio Benetti wrote:
> Espressif moved esp-hosted NG driver to a separate repository so let's
> point ESP_HOSTED_SITE accordingly(esp-hosted-linux) taking into account
> the slight difference of folder structure.
> Let's also bump to latest version 2026-11-01 and drop local patch that has
> been applied to master branch.
> So let's add local patch pending upstream to fix build failure with Linux
> 7.3.0.
>
> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> ---
> ...p_hosted_ng-Fix-build-for-kernel-7.1.patch | 147 ------------------
> ...p_hosted_ng-Fix-build-for-kernel-7.3.patch | 86 ++++++++++
> package/esp-hosted/esp-hosted.hash | 2 +-
> package/esp-hosted/esp-hosted.mk | 8 +-
> 4 files changed, 91 insertions(+), 152 deletions(-)
> delete mode 100644 package/esp-hosted/0001-fix-esp_hosted_ng-Fix-build-for-kernel-7.1.patch
> create mode 100644 package/esp-hosted/0001-fix-esp_hosted_ng-Fix-build-for-kernel-7.3.patch
>
> diff --git a/package/esp-hosted/0001-fix-esp_hosted_ng-Fix-build-for-kernel-7.1.patch b/package/esp-hosted/0001-fix-esp_hosted_ng-Fix-build-for-kernel-7.1.patch
> deleted file mode 100644
> index 90076b4956..0000000000
> --- a/package/esp-hosted/0001-fix-esp_hosted_ng-Fix-build-for-kernel-7.1.patch
> +++ /dev/null
> @@ -1,147 +0,0 @@
> -From fa27d70495e3b4f92c9de43b33aa09813a318495 Mon Sep 17 00:00:00 2001
> -From: Giulio Benetti <giulio.benetti@benettiengineering.com>
> -Date: Mon, 18 May 2026 16:44:57 +0200
> -Subject: [PATCH] fix(esp_hosted_ng): Fix build for kernel 7.1
> -
> -With commit:
> -https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=033fe322f5852d5144a85978e880e01b1787fd0d
> -many functions esp_cfg80211_*() have argument struct netdevice * subsituted
> -with struct wireless_dev *. So let's add separate function headers and
> -retrieve struct netdev * from struct wireless_dev * if Linux version >= 7.1.
> -
> -Upstream: https://github.com/espressif/esp-hosted/pull/736
> -Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> ----
> - esp_hosted_ng/host/esp_cfg80211.c | 50 +++++++++++++++++++++++++++++++
> - 1 file changed, 50 insertions(+)
> -
> -diff --git a/esp_hosted_ng/host/esp_cfg80211.c b/esp_hosted_ng/host/esp_cfg80211.c
> -index c68f7983e6..1009df1fd5 100644
> ---- a/esp_hosted_ng/host/esp_cfg80211.c
> -+++ b/esp_hosted_ng/host/esp_cfg80211.c
> -@@ -533,22 +533,38 @@ static int esp_cfg80211_set_default_key(struct wiphy *wiphy,
> - }
> -
> - static int esp_cfg80211_set_default_mgmt_key(struct wiphy *wiphy,
> -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
> -+ struct wireless_dev *wdev, INT_LINK_ID u8 key_index)
> -+#else
> - struct net_device *ndev, INT_LINK_ID u8 key_index)
> -+#endif
> - {
> - return 0;
> - }
> -
> -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
> -+static int esp_cfg80211_del_key(struct wiphy *wiphy, struct wireless_dev *wdev,
> -+#else
> - static int esp_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev,
> -+#endif
> - INT_LINK_ID u8 key_index, bool pairwise,
> - const u8 *mac_addr)
> - {
> - return 0;
> - }
> -
> -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
> -+static int esp_cfg80211_add_key(struct wiphy *wiphy, struct wireless_dev *wdev,
> -+ INT_LINK_ID u8 key_index, bool pairwise,
> -+ const u8 *mac_addr, struct key_params *params)
> -+{
> -+ struct net_device *dev = wdev->netdev;
> -+#else
> - static int esp_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev,
> - INT_LINK_ID u8 key_index, bool pairwise,
> - const u8 *mac_addr, struct key_params *params)
> - {
> -+#endif
> - struct esp_wifi_device *priv = NULL;
> -
> - if (!wiphy || !dev || !params) {
> -@@ -564,7 +580,11 @@ static int esp_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev,
> - esp_dbg("\n");
> -
> - if (params->key_len == 0) {
> -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
> -+ return esp_cfg80211_del_key(wiphy, wdev, ZERO_LINK_ID key_index, pairwise, mac_addr);
> -+#else
> - return esp_cfg80211_del_key(wiphy, dev, ZERO_LINK_ID key_index, pairwise, mac_addr);
> -+#endif
> - }
> - return cmd_add_key(priv, key_index, pairwise, mac_addr, params);
> - }
> -@@ -783,9 +803,16 @@ static int esp_cfg80211_set_tx_power(struct wiphy *wiphy,
> - return cmd_set_tx_power(priv, priv->tx_pwr);
> - }
> -
> -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
> -+static int esp_cfg80211_get_station(struct wiphy *wiphy, struct wireless_dev *wdev,
> -+ const u8 *mac, struct station_info *sinfo)
> -+{
> -+ struct net_device *ndev = wdev->netdev;
> -+#else
> - static int esp_cfg80211_get_station(struct wiphy *wiphy, struct net_device *ndev,
> - const u8 *mac, struct station_info *sinfo)
> - {
> -+#endif
> - struct esp_wifi_device *priv = NULL;
> -
> - priv = netdev_priv(ndev);
> -@@ -1034,9 +1061,16 @@ static int esp_cfg80211_probe_client(struct wiphy *wiphy, struct net_device *dev
> - return 0;
> - }
> -
> -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
> -+static int esp_cfg80211_del_station(struct wiphy *wiphy, struct wireless_dev *wdev,
> -+ struct station_del_parameters *params)
> -+{
> -+ struct net_device *dev = wdev->netdev;
> -+#else
> - static int esp_cfg80211_del_station(struct wiphy *wiphy, struct net_device *dev,
> - struct station_del_parameters *params)
> - {
> -+#endif
> - struct esp_wifi_device *priv = NULL;
> -
> - if (!wiphy || !dev) {
> -@@ -1055,10 +1089,18 @@ static int esp_cfg80211_del_station(struct wiphy *wiphy, struct net_device *dev,
> - return 0;
> - }
> -
> -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
> -+static int esp_cfg80211_add_station(struct wiphy *wiphy, struct wireless_dev *wdev,
> -+ const u8 *mac,
> -+ struct station_parameters *params)
> -+{
> -+ struct net_device *dev = wdev->netdev;
> -+#else
> - static int esp_cfg80211_add_station(struct wiphy *wiphy, struct net_device *dev,
> - const u8 *mac,
> - struct station_parameters *params)
> - {
> -+#endif
> - struct esp_wifi_device *priv = NULL;
> -
> - if (!wiphy || !dev) {
> -@@ -1078,10 +1120,18 @@ static int esp_cfg80211_add_station(struct wiphy *wiphy, struct net_device *dev,
> - return 0;
> - }
> -
> -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
> -+static int esp_cfg80211_change_station(struct wiphy *wiphy,
> -+ struct wireless_dev *wdev, const u8 *mac,
> -+ struct station_parameters *params)
> -+{
> -+ struct net_device *dev = wdev->netdev;
> -+#else
> - static int esp_cfg80211_change_station(struct wiphy *wiphy,
> - struct net_device *dev, const u8 *mac,
> - struct station_parameters *params)
> - {
> -+#endif
> - struct esp_wifi_device *priv = NULL;
> -
> - if (!wiphy || !dev) {
> ---
> -2.47.3
> -
> diff --git a/package/esp-hosted/0001-fix-esp_hosted_ng-Fix-build-for-kernel-7.3.patch b/package/esp-hosted/0001-fix-esp_hosted_ng-Fix-build-for-kernel-7.3.patch
> new file mode 100644
> index 0000000000..3614f65b16
> --- /dev/null
> +++ b/package/esp-hosted/0001-fix-esp_hosted_ng-Fix-build-for-kernel-7.3.patch
> @@ -0,0 +1,86 @@
> +From f91cb6274e5b13342091a934fadeeb39ea9613d0 Mon Sep 17 00:00:00 2001
> +From: Giulio Benetti <giulio.benetti@benettiengineering.com>
> +Date: Thu, 29 Oct 2026 12:46:52 +0100
> +Subject: [PATCH] fix(esp_hosted_ng): Fix build for kernel 7.3
> +
> +With commit:
> +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=914781c72813989b512609a51f8abb68417f722d
> +argument u64 *cookie changed into u64 cookie for mgmt_tx callback.
> +So let's deal with it when Linux version >= 7.3.0.
> +
> +With commit:
> +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4ab9b637b94a
> +probe_client callback has been renamed to probe_peer.
> +So let's disable probe_client when Linux version >= 7.3.0.
> +
> +Upstream: https://github.com/espressif/esp-hosted-linux/pull/6
> +Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> +---
> + host/esp_cfg80211.c | 22 ++++++++++++++++++++--
> + 1 file changed, 20 insertions(+), 2 deletions(-)
> +
> +diff --git a/host/esp_cfg80211.c b/host/esp_cfg80211.c
> +index 2edd523..ff61de5 100644
> +--- a/host/esp_cfg80211.c
> ++++ b/host/esp_cfg80211.c
> +@@ -1190,7 +1190,12 @@ static int esp_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
> + #else
> + struct cfg80211_mgmt_tx_params *params,
> + #endif
> +- u64 *cookie)
> ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(7, 3, 0)
> ++ u64 cookie
> ++#else
> ++ u64 *cookie
> ++#endif
> ++)
> + {
> + struct esp_wifi_device *priv = NULL;
> +
> +@@ -1207,8 +1212,11 @@ static int esp_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
> + esp_err("empty priv\n");
> + return -EINVAL;
> + }
> +-
> ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(7, 3, 0)
> ++ return cmd_mgmt_request(priv, params, &cookie);
> ++#else
> + return cmd_mgmt_request(priv, params, cookie);
> ++#endif
> + }
> +
> + static int esp_cfg80211_set_ap_chanwidth(struct wiphy *wiphy,
> +@@ -2444,12 +2452,18 @@ static void esp_cfg80211_mgmt_frame_registrations(struct wiphy *wiphy,
> + }
> + #endif
> +
> ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 3, 0))
> ++static int esp_cfg80211_probe_peer(struct wiphy *wiphy, struct net_device *dev,
> ++ const u8 *peer, u64 cookie)
> ++#else
> + static int esp_cfg80211_probe_client(struct wiphy *wiphy, struct net_device *dev,
> + const u8 *peer, u64 *cookie)
> ++#endif
> + {
> + return -EOPNOTSUPP;
> + }
> +
> ++
> + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 1, 0))
> + static int esp_cfg80211_del_station(struct wiphy *wiphy, struct wireless_dev *wdev,
> + struct station_del_parameters *params)
> +@@ -2675,7 +2689,11 @@ static struct cfg80211_ops esp_cfg80211_ops = {
> + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0))
> + .update_mgmt_frame_registrations = esp_cfg80211_mgmt_frame_registrations,
> + #endif
> ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(7, 3, 0))
> ++ .probe_peer = esp_cfg80211_probe_peer,
> ++#else
> + .probe_client = esp_cfg80211_probe_client,
> ++#endif
> + .del_station = esp_cfg80211_del_station,
> + .add_station = esp_cfg80211_add_station,
> + .change_station = esp_cfg80211_change_station,
> +--
> +2.47.3
> +
> diff --git a/package/esp-hosted/esp-hosted.hash b/package/esp-hosted/esp-hosted.hash
> index b478d412f4..8b8347ebf4 100644
> --- a/package/esp-hosted/esp-hosted.hash
> +++ b/package/esp-hosted/esp-hosted.hash
> @@ -1,3 +1,3 @@
> # Locally calculated
> -sha256 b8baa6d1c8576f5453e382333bc4aafef1293b4705f073dff5b08d900d10d68c ng-v1.0.6.tar.gz
> +sha256 02abcfea2bf8e040d7fb6af19de155d19cf0a7f698dc069639ec0ab5f2dedf4b ng-v54d53676e36850e53d82ee779b6d65dff8e65967.tar.gz
> sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 esp_hosted_ng/host/LICENSE
> diff --git a/package/esp-hosted/esp-hosted.mk b/package/esp-hosted/esp-hosted.mk
> index 5cf6571481..8a9140d07a 100644
> --- a/package/esp-hosted/esp-hosted.mk
> +++ b/package/esp-hosted/esp-hosted.mk
> @@ -4,13 +4,13 @@
> #
> ################################################################################
>
> -ESP_HOSTED_VERSION = 1.0.6
> -ESP_HOSTED_SITE = $(call github,espressif,esp-hosted,release/ng-$(ESP_HOSTED_VERSION))
> +ESP_HOSTED_VERSION = 54d53676e36850e53d82ee779b6d65dff8e65967
> +ESP_HOSTED_SITE = $(call github,espressif,esp-hosted-linux,$(ESP_HOSTED_VERSION))
> ESP_HOSTED_SOURCE = ng-v$(ESP_HOSTED_VERSION).tar.gz
> ESP_HOSTED_DEPENDENCIES = linux
> ESP_HOSTED_LICENSE = GPL-2.0
> -ESP_HOSTED_LICENSE_FILES = esp_hosted_ng/host/LICENSE
> -ESP_HOSTED_MODULE_SUBDIRS = esp_hosted_ng/host
> +ESP_HOSTED_LICENSE_FILES = host/LICENSE
> +ESP_HOSTED_MODULE_SUBDIRS = host
>
> define ESP_HOSTED_LINUX_CONFIG_FIXUPS
> $(call KCONFIG_ENABLE_OPT,CONFIG_NET)
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH] package/esp-hosted: fix build failure with Linux >= 7.3.0
2026-11-02 14:37 [Buildroot] [PATCH] package/esp-hosted: fix build failure with Linux >= 7.3.0 Giulio Benetti
2026-11-02 14:39 ` Giulio Benetti
@ 2026-11-04 21:54 ` Thomas Petazzoni via buildroot
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-11-04 21:54 UTC (permalink / raw)
To: Giulio Benetti; +Cc: buildroot
On Mon, Nov 02, 2026 at 03:37:54PM +0100, Giulio Benetti wrote:
> Espressif moved esp-hosted NG driver to a separate repository so let's
> point ESP_HOSTED_SITE accordingly(esp-hosted-linux) taking into account
> the slight difference of folder structure.
> Let's also bump to latest version 2026-11-01 and drop local patch that has
> been applied to master branch.
> So let's add local patch pending upstream to fix build failure with Linux
> 7.3.0.
>
> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Thanks, applied after doing one small fix, see below.
> diff --git a/package/esp-hosted/esp-hosted.hash b/package/esp-hosted/esp-hosted.hash
> index b478d412f4..8b8347ebf4 100644
> --- a/package/esp-hosted/esp-hosted.hash
> +++ b/package/esp-hosted/esp-hosted.hash
> @@ -1,3 +1,3 @@
> # Locally calculated
> -sha256 b8baa6d1c8576f5453e382333bc4aafef1293b4705f073dff5b08d900d10d68c ng-v1.0.6.tar.gz
> +sha256 02abcfea2bf8e040d7fb6af19de155d19cf0a7f698dc069639ec0ab5f2dedf4b ng-v54d53676e36850e53d82ee779b6d65dff8e65967.tar.gz
> sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 esp_hosted_ng/host/LICENSE
You had forgotten to update the hash file for the license file, in
relation to...
> ESP_HOSTED_LICENSE = GPL-2.0
> -ESP_HOSTED_LICENSE_FILES = esp_hosted_ng/host/LICENSE
> -ESP_HOSTED_MODULE_SUBDIRS = esp_hosted_ng/host
> +ESP_HOSTED_LICENSE_FILES = host/LICENSE
...this change.
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-11-04 21:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-02 14:37 [Buildroot] [PATCH] package/esp-hosted: fix build failure with Linux >= 7.3.0 Giulio Benetti
2026-11-02 14:39 ` Giulio Benetti
2026-11-04 21:54 ` Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox