]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
ofono: fix the build when toolchain has old linux headers
authorRoss Burton <ross.burton@arm.com>
Thu, 19 Dec 2024 13:54:23 +0000 (13:54 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 20 Dec 2024 15:46:55 +0000 (15:46 +0000)
Whilst our default toolchain has modern kernel headers (6.12, at time of
writing), some external toolchains may use old kernel headers.

As ofono's rmnet module uses kernel defines which were added in 5.14,
add some compatibility defines in case they are not set.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-connectivity/ofono/ofono/rmnet.patch [new file with mode: 0644]
meta/recipes-connectivity/ofono/ofono_2.14.bb

diff --git a/meta/recipes-connectivity/ofono/ofono/rmnet.patch b/meta/recipes-connectivity/ofono/ofono/rmnet.patch
new file mode 100644 (file)
index 0000000..11dfd5d
--- /dev/null
@@ -0,0 +1,45 @@
+From git@z Thu Jan  1 00:00:00 1970
+Subject: [PATCH] rmnet: Handle toolchains with old kernel headers
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Thu, 19 Dec 2024 13:47:15 +0000
+Message-Id: <e2b6a94dd9a3789e31dafadfc70c53b565d1db04.camel@linuxfoundation.org>
+MIME-Version: 1.0
+Content-Type: text/plain; charset="utf-8"
+Content-Transfer-Encoding: 7bit
+
+The RMNET_FLAGS_*GRESS_MAP_CKSUMV5 defines were added to the kernel in
+5.14[1] and some toolchains use older headers, so add fallback defines
+in case they are needed.
+
+[1] linux b6e5d27e32ef6089d316ce7e1ecaf595584d4b84
+
+Upstream-Status: Submitted [https://lore.kernel.org/ofono/e2b6a94dd9a3789e31dafadfc70c53b565d1db04.camel@linuxfoundation.org/T/#u]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ src/rmnet.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/rmnet.c b/src/rmnet.c
+index 42b03249..9a7f52fb 100644
+--- a/src/rmnet.c
++++ b/src/rmnet.c
+@@ -27,6 +27,16 @@
+ #define MAX_MUX_IDS 254U
+ #define DEFAULT_MTU 1400U
++/*
++ * These were added in 5.14 so define them here if the toolchain's kernel headers are old.
++ */
++#ifndef RMNET_FLAGS_INGRESS_MAP_CKSUMV5
++#define RMNET_FLAGS_INGRESS_MAP_CKSUMV5 (1U << 4)
++#endif
++#ifndef RMNET_FLAGS_EGRESS_MAP_CKSUMV5
++#define RMNET_FLAGS_EGRESS_MAP_CKSUMV5 (1U << 5)
++#endif
++
+ struct rmnet_request {
+       uint32_t parent_ifindex;
+       rmnet_new_interfaces_func_t new_cb;
+-- 
+2.43.0
+
index 0a695c978c04db3a4d5a0ed6b16146537b13c5e3..5d11d6cb45ee1e02483382af2a9f2550682c0b90 100644 (file)
@@ -9,6 +9,7 @@ DEPENDS = "dbus glib-2.0 udev mobile-broadband-provider-info ell"
 
 SRC_URI = "\
     ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
+    file://rmnet.patch \
     file://ofono \
 "
 SRC_URI[sha256sum] = "983cbfd5e1e1a410ba7ad2db7f50fadc91e50b29f1ede40cdc73f941da7ba95f"